根据文档,Stencil 组件的属性 myProperty
@Prop({attribute: "my-prop"})
public myProperty?: object = {};
应使用以下 HTML 代码进行设置:
<my-component my-prop="{hello: 'world'}" ></my-component>
但是,相反,它被设置为默认值(空对象)。布尔值和字符串值工作正常。
这是一个错误,还是我忽略了一些东西?
根据文档,Stencil 组件的属性 myProperty
@Prop({attribute: "my-prop"})
public myProperty?: object = {};
应使用以下 HTML 代码进行设置:
<my-component my-prop="{hello: 'world'}" ></my-component>
但是,相反,它被设置为默认值(空对象)。布尔值和字符串值工作正常。
这是一个错误,还是我忽略了一些东西?
Stencil 不会自动解析对象属性。你有两个选择:
@State
属性中的对象。我总是包含的手动解析的一个更改是检查它是否实际上是一个对象,以防它是使用 JavaScript 设置的。
@Watch('myObject')
parseMyObjectProp(newValue: string | object) {
if (newValue) {
this.myInnerObject = typeof newValue === 'object' ? newValue : JSON.parse(newValue);
}
}