Object.freeze(obj)
用途
Object.freeze() 方法可以冻结一个对象,冻结指的是不能向这个对象添加新的属性, 不能修改其已有属性的值,不能删除已有属性,以及不能修改该对象已有属性的可枚举性、 可配置性、可写性。该方法返回被冻结的对象。
Vue会通过Object.defineProperty对数据进行劫持,来实现视图响应数据的变化, 然而有些时候我们的组件就是纯粹的数据展示,不会有任何改变,我们就不需要Vue来劫持我 们的数据,在大量数据展示的情况下,这能够很明显的减少组件初始化的时间,那如何禁止Vue劫 持我们的数据呢?可以通过Object.freeze方法来冻结一个对象,一旦被冻结的对象就再也不能被 修改了。
用法
exportdefault {
data() {
return {
user: null
}
},
methods: {
async getInfo () {
const users = await axios.get("/api/users");
this.users = Object.freeze(users);
}
}
};