将属性指定为“类型:数组”似乎无法正确解析字符串属性值

克莱门·斯拉维奇(KlemenSlavič)

更新:https://github.com/Polymer/lit-element/issues/411提交了一个错误

根据指南中的信息,我无法为属性实现默认和自定义转换器。在当前版本(0.6.5)中,它表示您可以将类型分配给Array属性,并且该属性将自动从属性的字符串值中解析为JSON,但是似乎情况并非如此。代码示例。

这是问题的例证。在控制台中,它应报告一个包含三个元素的数组,但它返回一个包含元素值的字符串的元素数组。render方法的结果还显示仅<p>包含单个字符串的一个元素。

<script type="module">
import { LitElement, html } from 'https://unpkg.com/@polymer/[email protected]/lit-element.js?module';

class Histogram extends LitElement {
  static get properties() {
    return {
      values: { type: Array }
    };
  }
  
  constructor() {
    super();
    this.values = [];
  }
  
  render() {
    console.log(Array.isArray(this.values), this.values);
    return html`
<div>
  The elements:
  ${this.values.map(item => html`<p>item: ${item}</p>`)}
</div>
`;
  }
}

customElements.define('x-histogram', Histogram);
</script>

<x-histogram values="[1,2,3]"/>

我也尝试通过提供一个来修改示例converter,但这似乎也没有被调用。我究竟做错了什么?

恩多布

我看看 0.6.5的update-element.js文件甚至没有进行数组转换。看着0.6.5的npm包也没有提到数组。

但是master分支确实映射了数组类型,并在自述文件中提到了它。如果您将其拉出并直接使用,它将为您工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将类型指定为某些字符串文字

如何将特定的字符串值指定为 dart 中的类型

将值指定为数组时,如何设置类属性?

无法访问原始类型值(字符串)的属性

将字符串解析为属性

将字符串数组中的值分配给自定义类型数组的每个元素的string属性

使用枚举字符串的下标属性失败,出现“无法将类型<enumType>的值分配为类型AnyObject”

无法将“字符串”类型的值转换为指定类型“NWEndpoint.Host”

JsonReader无法正确解析字符串数组

Terraform - 无法访问原始类型值(字符串)的属性

属性字符串不正确采用紧缩值

具有字符串属性的数组的类型或接口

用数组包装字符串类型的对象属性

无法解析JSON的字符串属性中存在的XML

通过属性c#解析字符串值

将字符串列表指定为函数参数类型

如何声明 TS 类型,该类型是具有类型为数字或字符串值的属性的对象数组?

类型错误:无法在字符串 'a' 上创建属性 'style'

将属性插入JSON字符串而不进行解析

属性值应为字符串类型但为空

无法将类型“字符串”的值转换为“字符串的一维数组” Web服务调用

属性值类型不正确。sttributes“子网:需要的字符串集”的值不合适。

无法将约束引用“字符串”解析为类型

根据其父数组键名添加字符串属性值

在数组属性值中查找特定字符串

Typescript将数组的特定属性连接为字符串

将字符串数组映射为对象属性

将字符串数组存储到数据属性中

将字符串从数据属性推入数组