为了账号安全,请及时绑定邮箱和手机立即绑定

vue关于ref的一个问题

vue关于ref的一个问题

万千封印 2018-09-08 16:58:39
这个例子中为什么结果是 [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 回答

?
幕布斯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])
}


查看完整回答
反对 回复 2018-09-09
  • 2 回答
  • 0 关注
  • 1402 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信