Wir sind derzeit an einem Projekt arbeiten, in denen wir eine Kombination aus AngularJS und Polymer verwendet werden.Polymer aktualisieren den Wert der Eigenschaft, die durch ein Verfahren berechnet wird
Wir haben eine gewisse Struktur, aber was wirklich wichtig ist dieses Stück Code:
<template is="dom-bind" angupoly="{dataContainer:'dataContainer'}">
<menu-list for="places" data="{{dataContainer.getSomeData()}}">
</template>
Wir haben eine Variable auf $ Bereich definiert namens Datacontainer, die in einem Regler eingestellt wird. Das Problem ist, dass dieser Code ausgeführt wird, bevor der Controller diese Eigenschaft bereitet, so ist es nicht definiert - es wirft:
[dom-bind :: _ annotatedComputationEffect]: Rechenmethode
dataContainer.getSomeData()
nicht
definiert und die Daten werden nie wieder aktualisiert und es funktioniert nicht. Im Gegenteil, mit einer Eigenschaft funktioniert es (es ist egal, ob es erster Zustand ist nicht definiert ist), es aktualisiert wird.
Weil es ein wirklich wichtiger Punkt in unserer Anwendung ist, wollen wir fragen. Wie erreiche ich das gewünschte Verhalten?
Dank, hat einen schönen Tag! :)
Dies ist wirklich nur eine einseitige Bindung richtig? Wie wäre es dann, die Eigenschaft 'data' im Code zu füllen, nachdem' getSomeData() 'aufgerufen wurde? –
Das stimmt, aber wenn wir es so machen würden, hätten wir eine riesige Menge an Variablen wie diese. Das würde den Code schwer lesbar machen und das wollen wir nicht. Irgendwelche anderen Vorschläge? –