1、前言
在我们使用vue进行开发中,可能会碰到一种情况,当已经生成vue实例后,再次去给数据赋值或者添加数据,并不能同步更新到数据上面去。
在官方文档中发现这么一段话:
受现代 JavaScript 的限制 (以及废弃 Object.observe
),Vue 不能检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter
转化过程,所以属性必须在 data
对象上存在才能让 Vue 转换它,这样才能让它是响应的。例如:
var vm = new Vue({
data:{
a:1
}
})
// `vm.a` 是响应的
vm.b = 2
// `vm.b` 是非响应的
2、遇到的问题
- 最近在开发过程中遇到一个问题。在节点上面写点击事件时,点击事件不执行。代码如下:
<!-- 操作 -->
<el-table-column label="操作">
<template slot-scope="scope"