使用Polymer Stater Kit,我创建了两个自定义元素:
在 app.js 文件中,我还定义了一个addElement函数。
我可以在 flowElementArray 中添加元素,然后显示它们。
但是,当我从 flowElementArray 中删除元素时,它们仍会显示。
以下是我获得以下结果的方法:
这种奇怪行为可能是什么原因?
编辑我无法在plunker / codepen.io / jsbin上运行示例,所以这里是在github上。
我如何添加元素:
app.storageLoaded = function() {
if (this.$.s1.value === '' || this.$.s2.value === '') {
window.alert('One field is Empty!');
return;
}
this.$.flowListID.push('flowDictionnary',
{
first: this.$.s1.value,
last: this.$.s2.value
});
};
我如何删除:
removeItem: function() {
var counter = 0;
while (counter < this.dict.length) {
var item = this.dict[counter];
if (item.first === this.name) {
this.dict.splice(counter, 1);
} else {
counter++;
}
}
}
答案 0 :(得分:2)
在Polymer中对数组属性执行操作时,您需要在操作后使用this.push('myArrayProperty', item)
,this.splice('myArrayProperty', 0, 1)
或调用this.notifyPath('myArrayProperty')
。
removeItem: function() {
var counter = 0;
while (counter < this.dict.length) {
var item = this.dict[counter];
if (item.first === this.name) {
// this.dict.splice(counter, 1);
this.splice('dict', counter, 1);
} else {
counter++;
}
}
}