【发布时间】:2018-08-28 22:31:58
【问题描述】:
我正在尝试将应用程序的根状态保存在 VueJS 的 mounted 生命周期中,并将副本冻结在 $root 的 data 中,我的尝试如下,
mounted() {
this.globalState = this.$store.state;
},
data () {
return {
globalState: null
}
}
但是这种方法正在更新globalState,所以我想出了另一种方法来使用Object.freeze() 来冻结它,但运气不好,它一直在更新。
我还尝试将this.$store.state 复制到const 变量并通过它更新globalState,但它也失败了。
我的最后一次尝试如下,我知道这是一个丑陋的代码,但请耐心等待。
let emptyObj = {};
Object.defineProperty(emptyObj, 'globalState',{
value: this.$store.state,
enumerable: false,
configurable: false,
writable: false
}
);
this.globalState = emptyObj.globalState;
我的问题是,如何复制和冻结应用程序的初始状态并将其存储在单个 data 中?
【问题讨论】:
标签: javascript object vue.js vuex