2
我想通过自定义元素名称x-names
显示数组中的名称列表。显示名称列表中的代码如下:聚合物计算并设置属性值与this.set()不起作用
<x-names names="{{names}}"></x-names>
<template is="dom-repeat" items="[[names]]" as="name">
<h5>Name: [[name]]</h5>
</template>
的x-names
元素的定义如下:
<dom-module id="x-names">
<template>
<akc-meta-query key="names" value="{{_namesObject}}"></akc-meta-query>
</template>
<script>
Polymer({
is: 'x-names',
properties: {
names: {
type: Array,
computed: '_namesObjectToArray(_namesObject)',
value: [],
notify: true
},
_namesObject: {
type: Object
}
},
_namesOjbectToArray: function(obj) {
if (obj) {
var keys = Object.keys(obj);
this.set('names', keys);
}
}
});
</script>
</dom-module>
对象的键名,所以我只是想获得键和设置阵列的names
财产,但,我得到以下错误:
Uncaught TypeError: Cannot set property names of #<x-names> which has only a getter
我相当聚合物新手,所以我相信这是一个快速解决方案,但它是100%逃脱我。我已经浏览了文档(我仍然习惯于这些文档),并尝试了其他几种方法,但都没有运气:
this.names = keys
和return keys
不会产生错误,但它们也不反映名称为dom-repeat
。
我曾尝试过'返回键',但它没有奏效。也许我在其他地方搞了一次绑定,但现在它按预期工作。感谢你的回答! – MandM