Composition API 创建的对象必须经过初始化,如果对已经创建的对象添加新的属性,就对出现标题中的错误。

const state = reactive({foo: 'bar'});
Reflect.isExtensible(state); // true
state.baz = 'this is not allowed'; // 报错

其实Vue仅仅是设置了对象不可扩展而已。这个错误本身是js报出的。

'use strict';

var obj = {};
Object.preventExtensions(obj);

obj.x = 'foo';

以上便会抛出该错误。但需要是严格模式。而现在我们写的代码都是ESM的,自然默认就是严格模式。

Logo

前往低代码交流专区

更多推荐