I'm doing array mutation with Polymer's array mutation methods.
this.allRules = [{name: "abc", enabled: true}];
var item = this.allRules[index];
item.name = "abcdxfdsa";
item.enabled = enabled;
// console log out [Object]
console.log(this.allRules);
this.splice('allRules', index, 1);
// Instead of logging out [], it logs out [splices: Object]
console.log(this.allRules);
this.push('allRules', item);
// It logs out [Object, splices: Object]
console.log(poly.allRules);
And the annoying thing is this. When I bind this.allRules into a dom-repeat template, such as the one below, when updated binded data, it shows the item that was spliced instead of the newly added item. So after a splice and a push, instead of getting "abcdxfdsa" as item name, I get abc, which is the value before splicing. Here is the link to a sample dom-repeat data binding. Polymer dom-repeat how to notify array updated