这个例子中为什么结果是 [li, li, li, li, li, li]呢 而不是item对应的值呢?<!DOCTYPE html><html><head>
<title></title>
<script type="text/javascript" src="vue.js"></script></head><body><div id="app">
<ul>
<li v-for="(item,index) in msg" ref=item @click=test()>{{item}}</li>
</ul></body></div><script type="text/javascript">
var test=new Vue({ el:'#app', data:{ msg: ["a","b","c","d","e","f"]
}, methods:{
test(){ console.log(this.$refs.item)
}
}
})
</script></html>
2 回答
![?](http://img1.sycdn.imooc.com/5333a1bc00014e8302000200-100-100.jpg)
幕布斯6054654
TA贡献1876条经验 获得超7个赞
理解错啦,ref的值从来都是元素或者组件,不会是你的a, b, c字符串的
如果你想为每个li动态生成一个ref,之后获取点击的item,可以用以下代码
<ul> <li v-for="(item,index) in msg" :ref="item" @click=test(item)>{{item}}</li></ul>
test(item){ console.log(this.$refs[item]) }
添加回答
举报
0/150
提交
取消