Sto cercando di unire i componenti web Polymer nella mia applicazione Angular, ma non riesco a ottenere l'associazione dati bidirezionale tra questi quadri funzionanti. Ho già visto this video e ho già provato la soluzione fornita in this question ma non funziona ancora per me. Questi erano i miei tentativi:Associazione dati a due vie polimerico-angolare per componenti di struttura (elementi di base/elementi di carta)
Object
valore di attributo<game-card game="{{game}}" bind-polymer></game-card>
- sulla basepost-card.html
sul tutorial Polymer.game
è un oggetto con id, titolo, eccho creato la funzione
gameChanged
sul componente web e aggiunto una nuova proprietà nella variabilegame
, qualcosa comethis.game.foo = 'bar';
, ma se lo faccio<pre><code>{{game | json}}</code></pre>
subito dopo il componente, non c'è
"foo": "bar"
nell'oggetto con stringhe. Anche conpublish: { game: {reflect: true} }
,non funziona.
componenti Framework
<core-input value="{{cool}}" bind-polymer></core-input> <paper-input value="{{cool}}" bind-polymer></paper-input>
Funziona solo se modificare il codice sorgente dell'elemento a
reflect
l'attributovalue
(sucore-input.html
, come carta-input estende). Penso che non sia un buon modo per risolvere questo problema.
Mi manca qualcosa? C'è una buona risorsa posso cercare questa integrazione di Angular-Polymer? La ricerca su Google porta più risultati su the material che sulla libreria stessa e, quando trovati, la maggior parte di essi sono risorse "Polymer for Dart".
Sì. È necessario che la proprietà del valore di core-input sia impostata su 'reflect: true' affinché funzioni (https://github.com/Polymer/core-input/blob/master/core-input.html#L161) . In caso contrario, l'attributo non verrà aggiornato e il sistema di associazione dei dati di Angular non vedrà mai una modifica. Forse presentare un bug? https://github.com/Polymer/core-input/issues/new – ebidel
@edibel Ho avuto problemi simili e a volte non funziona anche se è impostato "reflect: true". – ipaul
@ebidel - Inserirò un bug il prima possibile, grazie per la risposta. Ma per quanto riguarda l'attributo di tipo 'Object'? Non dovrebbe aggiungere la nuova proprietà ad esso, ancora di più con 'reflect: true'? Un altro problema che ho riscontrato è che quando passo la variabile 'game' all'attributo, a volte il mio componente web riceve un oggetto js e talvolta riceve una stringa JSON, costringendomi a' JSON.parse' it. – danguilherme