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