this.$refs['xxx'][0],是什么意思,为啥加0呢?
父组件
<template>
<view class="user-order">
<tabs :active="active" @change="changeShow" :config="{itemWidth: 125}">
<tab v-for="(item, index) in order" :key="index" :title="item.name" :name="item.type">
<order-list v-if="item.isShow" :order-type="item.type" :ref="'order' + item.type"></order-list>
</tab>
</tabs>
</view>
</template>
父组件有个方法这么写的。
this.$refs['order' + order[active].type][0].reflesh()
子组件下面是
<template>
<view>
<view class="order-list">一堆,不写了</view>
</view>
</template>
reflesh() {
this.page = 1
this.orderList = []
this.status = loadingType.LOADING
this.type = 0
this.getOrderListFun();
}
this.$refs['order' + order[active].type][0].reflesh() ,这个应该是调用了子组件的方法,刷新数据的意思。那为什么this.$refs'xxx',为什么跟一个数组下标0,有没有相关的refs教程,我百度了一下,没找到好理解的教程。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
当使用v-for的时候:
this.$refs.test
是个数组;this.$refs.test[0]
就是第一个li
当你使用的ref是v-for出来的时候
0表示数组第0个元素,说明取得的结果是以数组展示的,数组里面是个对象,这种东西要领文这个数据的格式去解析下数据格式就知道了。
直接看代码比你去找教程更快,给你截取
vue
源码关于ref
的处理可以看到当
ref
是在for
循环中时,ref
所绑定的key
对应的value
是以数组形式存储的