我对聚合物有一个非常奇怪的问题,这些是解释它的相关代码片段:
<dom-module is="...">
<template is="dom-repeat" items="{{row.data}}" as="elem" index-as="col_no">
<div class="entry">
<div>[[elem]]</div>
<input value="{{elem::input}}"></input>
</div>
</template>
</dom-module>
<script>
Polymer({
is: '...',
properties: {
/**
* It's an object like this:
* {data: [1, "column2", "column3"] /* and other things relevant for other parts of the app*/}
*/
row: {
type: Object,
notify: true,
reflectToAttribute: true
}
}
});
</script>
我的问题是,如果我更改输入上的值,它在dom上反映得很好,我也可以在div上看到结果,但是如果我尝试在其他代码片段上获取row属性(比方说,即使是简单的console.log(this.row)
),它仍然包含原始值。
我认为reflectToAttribute
会有所帮助,但它没有做任何不同的事情,我也尝试添加像observers: ['_test(row.data.*)']
这样的观察者,但在使用输入编辑数组元素时从未调用它。
我认为这可能是因为我的数组在一个对象中,也许这只是弄乱dom-repeat的数据绑定如何做事情,但我还没有找到任何实际确认的内容。
任何帮助都会非常感激。
答案 0 :(得分:0)
您的数据似乎不是行对象的一部分。可能是你的代码中你指的是数据而不是row.data?
这是带有console.log的jsbin,反映了行对象的变化 - http://jsbin.com/nijixocaku/1/edit?html,console,output