Obecnie pracujemy nad projektem, w którym używamy kombinacji AngularJS i polimeru.Polimer odśwież wartość właściwości, która jest obliczana za pomocą metody
Mamy pewną strukturę, ale to, co naprawdę ważne jest to fragment kodu:
<template is="dom-bind" angupoly="{dataContainer:'dataContainer'}">
<menu-list for="places" data="{{dataContainer.getSomeData()}}">
</template>
Mamy zmienną zdefiniowaną na $ zakresu nazwie dataContainer, który jest ustawiony w sterowniku. Problemem jest to, że ten kod jest wykonywany przed kontroler przygotowuje tę właściwość, więc jest niezdefiniowana - rzuca:
[dom-wiązania :: _ annotatedComputationEffect]: metoda obliczeniowa
dataContainer.getSomeData()
nie zdefiniowany
a dane nigdy nie są odświeżane i nie działa. Wręcz przeciwnie, w przypadku właściwości działa (nie ma znaczenia, czy pierwszy stan jest niezdefiniowany), jest odświeżany.
Ponieważ jest to bardzo ważny punkt w naszej aplikacji, chcemy zapytać. Jak osiągnąć wymagane zachowanie?
Dzięki, życzę miłego dnia! :)
To naprawdę tylko jednokierunkowe wiązanie, prawda? A może po prostu zapełnianie właściwości 'data' w kodzie, po wywołaniu' getSomeData() '? –
To prawda, ale jeśli zrobilibyśmy to w ten sposób, mielibyśmy ogromną ilość takich zmiennych. To sprawiłoby, że kod byłby trudny do odczytania i nie tego chcemy. Jakieś inne sugestie? –