Ich setze einen Beobachter auf, um alle Polymer erkannte Ereignisse auf einer Eigenschaft, die ein Array ist zu fangen, aber ich fange es, um die Veränderung zu fangen. In meinem Beispiel unten wird meine Beobachterfunktion "bigup" nur aufgerufen, wenn zuerst die Eigenschaft "bigs" initialisiert wird.Polymer 1.0 Beobachter - funktioniert nicht auf Array
<dom-module id="parent-page">
<template>
<paper-button on-click="updateAll">Update</paper-button>
</template>
<script>
var temp=[];
temp.push({'conversation':[{'message':'hello'}]});
Polymer({
is: 'parent-page',
properties: {
bigs: {
type: Array,
value: temp
}
},
observers: [
'bigup(bigs.*)'
],
updateAll: function(){
this.bigs.push({'conversation':[{'message':'hola'}]});
console.dir(this.bigs);
},
bigup: function(){
console.log('big Up');
}
});
</script>
Ich habe auch versucht, in dem Beobachter zu verwenden bigs.push hatte aber keinen Erfolg. Ein Teil, den ich nicht verstehe, ist, dass, wenn ich meiner "updateAll" -Funktion die folgende Zeile hinzufüge, der Beobachter die Änderung abfängt und "bigup" feuert.
this.bigs=[];
Gibt es eine Möglichkeit, Polymers Push auf ein Sub-Array einer Eigenschaft zu verwenden? – Gilberg
Versuchen Sie 'this.push ('bigs.0', {'conversation': [{'message': 'hola'}]});', vorausgesetzt, die erste Eigenschaft ist das Subarray. –