Ho impostato un osservatore su per catturare tutti gli eventi riconosciuti dal polimero su una proprietà che è un array, ma prendo per ottenerlo per rilevare la modifica. Nel mio esempio sotto la mia funzione di osservatore "bigup" viene chiamato solo quando la proprietà, "big" viene prima inizializzata.Osservatori di polimeri 1.0 - non funziona sull'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>
Ho anche cercato di usare bigs.push nell'osservatore ma non ha avuto successo. Una parte che non capisco è che se aggiungo la seguente riga alla mia funzione "updateAll", l'osservatore capta la modifica e spara "bigup".
this.bigs=[];
c'è un modo per utilizzare la spinta di Polymer su un sottoarray di una proprietà? – Gilberg
Prova 'this.push ('bigs.0', {'conversation': [{'message': 'hola'}]});', assumendo che la prima proprietà sia il subarray. –