я пытаюсь понять, как наблюдаемые добытчики работают, когда они используют другие свойства экземпляра класса:Dart: @observable геттеров
Когда я связать/сеттер пару «имя» неявного геттер он обновляет на входе и в div и все синхронизировано красиво.
Однако явное getter 'fullname' не обновляется в HTML. Есть ли способ сделать эту работу (в основном, «полное имя» в привязке элемента также должно обновляться)? Может быть, мне не хватает сеттера, но затем снова сеттер не имеет смысла здесь ...
Очень простой пример, чтобы продемонстрировать:
тест-element.html
<link rel="import" href="../../packages/polymer/polymer.html">
<polymer-element name="test-element">
<template>
<input value="{{ds.name}}">
<div>{{ds.name}}</div>
<div>{{ds.fullname}}</div>
</template>
<script type="application/dart" src="test1.dart"></script>
</polymer-element>
тест-элемент .dart
import 'package:polymer/polymer.dart';
import 'package:popoli/sysmaster-settings.dart';
@CustomTag('test-element')
class TestElement extends PolymerElement {
@observable VerySimpleTest ds;
TestElement.created() : super.created() {
ds = new VerySimpleTest()..name = 'Peter';
}
}
ds.dart
class VerySimpleTest extends Observable {
@observable String name = '';
@observable String get fullname => 'Test: $name';
VerySimpleTest() : super();
}
Также интерес, когда вы звоните notifyPropertyChange явно, вам не нужно добавлять @observable аннотаций (и, таким образом, вы не не нужно, чтобы трансформатор работал). См. Https://groups.google.com/a/dartlang.org/forum/#!topic/web/007Ij-l_hf4 –
+ Jonas Kello - скопировано из вашей ссылки. Все в порядке. Но лучше иметь @observable. Если кто-то пытается перечислить множество наблюдаемых свойств, они также могут найти ваш. Это просто дополнительные метаданные, поэтому, если ваше приложение не перечисляет такие свойства, вы можете спокойно оставить его. ChangeNotifier не заботится :) –
спасибо, в первую очередь, этот символ используется, но во втором - это правильно? поэтому, если значение намного сложнее, мне все равно нужно иметь его, как и в параметре аннотации? –