微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当 redux 中有属性时,如何在 litElement 中使用 @property 装饰器语法

如何解决当 redux 中有属性时,如何在 litElement 中使用 @property 装饰器语法

当我们使用构造函数分配@property 装饰器看起来像

@property ({type: String}) name = 'Luis';

并且它的工作正常 但是当我使用 redux 并因此使用 _stateChanged 时,我尝试使用

@property ({type: String}) name

没有名称值,因为值在 _stateChanged 函数中定义 那么如何让它一起工作

我发现了很多人们像这样使用这个装饰器的例子

export class MyElement extends LitElement {
 

     @property({type: String}) propertyName = "name"

它可以代替构造函数定义,但就我而言,我有 _stateChanged function 并且当我编写这样的代码时,它不会像它应该的那样工作,请给我示例使用此装饰器与 _stateChanged(redux)

解决方法

您可以继续使用常规的 @property,无论该值是从外部设置的还是从内部设置的,例如还原。类型信息只是为了让 LitElement 根据属性填充属性值,但只要设置了同名的属性,它就会被忽略。

您也可以使用 @internalProperty,它不需要您定义类型,也不会将属性反映到具有相同名称的属性。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。