vue怎么动态添加属性

<div id="app">

<p>{{a}}</p>
<p>{{b}}</p>
</div>
<script src="dist/vue.js"></script>
<script>
var vm = new Vue({
        el: "#app",
        data: {
            a: 11111111
        }
    })
// vm.b = 2
Vue.set(vm. data, 'b', 2);
// vm.$set("b",2)
</script>
阅读 21.5k
1 个回答

Vue 不允许在已经创建的实例上动态添加新的根级响应式属性(root-level reactive properties)。
然而它可以使用 Vue.set(object, key, value) 方法将响应属性添加到嵌套的对象上:

Vue.set(vm.someObject, 'b', 2)
<div id="app">
    <p>{{o.a}}</p>
    <p>{{o.b}}</p>
</div>
<script src="./vue.min.js"></script>
<script>
var vm = new Vue({
        el: "#app",
        data: {
            o: {
                a: 111
            }
        }
    })
Vue.set(vm.o, 'b', 2);
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题