计算属性会把使用到的data中的属性缓存起来,防止页面发生大量重复计算, 提升js 运行效率,如果计算属性中使用到的data中那部分数据变了才会重新调用计算属性 methods方法没有计算结果缓存起来,data任何数据发生改变,方法都会被重新调用一遍 方法常常是作用的事件使用,计算属性常常是动态计算结果时使用
1.如果是修改了data中监听的某个的属性值 计算属性就会运行
2.如果是修改了data中监听的某个属性值内部的数据,计算属性就不会重新运行
比如:计算属性使用的是data中的一个数组,某个交互把数组内部的某个下标的值改了,但是这个数组没有改变,就不会触发计算属性
解决2的办法1:把修改后的数组重新赋值给data,让引用发生变化,来触发计算属性(深拷贝)
解决2的办法2:赋值 JSON.parse(JSON.stringfy(data))(深拷贝)