Vue.js vue能否通过方法定义数据?
vue能否通过方法定义数据Vue.js vue能否通过方法定义数据?,vue.js,Vue.js,vue能否通过方法定义数据 export default { data() { return { navData: [ /* ... */ ], defaultData: this.deepClone(this.navData) }; }, deepClone是我定义的一个函数,但是这个方法不能传输到defaultData可能是关于生命周期的?你能给我解释一下吗?谢谢您不能这样做,因为您返回的对象navData所属的对象尚未创建,因此this.n
export default {
data() {
return {
navData: [ /* ... */ ],
defaultData: this.deepClone(this.navData)
};
},
deepClone是我定义的一个函数,但是这个方法不能传输到defaultData可能是关于生命周期的?你能给我解释一下吗?谢谢您不能这样做,因为您返回的对象navData所属的对象尚未创建,因此this.navData不可用 解决方案:首先使用navData创建对象,然后添加defaultData: 另一种可能更惯用的解决方案是稍后初始化defaultData:
export default {
data() {
let data = {
navData: [ /* ... */ ],
};
data.defaultData = this.deepClone(data.navData);
return data;
},
export default {
data() {
return {
navData: [ /* ... */ ],
defaultData: null;
}
},
mounted() {
this.defaultData = this.deepClone(this.navData);
},