vue怎样更新数组里面的数据?

我百度了一下说用set方法可以改变数组的数据 但是我试了一下怎么报错了呢?是我用的不对吗?
图片描述

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="vue.js"></script>
</head>
<body>
<div id="app">
    <button v-for="(item,index) in msg" @click=add(index)>{{item.content[0]}}</button>
</body>
</div>
<script type="text/javascript">
        var test=new Vue({
            el:'#app',
            data:{
                msg: [
                    {content: [555,111]},
                    {content: [666,222]}
                ]
            },
            methods:{
                add(index){
                    this.$set(this.msg,this.msg[index].content[0],333)
                }
            }
        })
    </script>
</html>
阅读 9.8k
3 个回答
this.$set(this.msg[index].content, 0, 333)
vm.$set(vm.items, indexOfItem, newValue)

参数搞清楚

另外 按你这个写法,第二个参数只能是0

this.$set( target, key, value )

target:要更改的数据源(可以是对象或者数组)

key:要更改的具体数据

value :重新赋的值

可以看看官方的api

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题