用Dart聚合物观察内部模型属性
我正在设置自定义聚合物元素,这些元素需要显示来自需要传递的模型属性对象的数据 我可以成功显示属性的值,但当我更新属性对象内的值时,该值不会在元素内更新 我错过了什么?我基于以下例子: wb-control-text.html wb-property.dart 解决方案是在getter和setter上使用,这样PathObserver就可以获取它用Dart聚合物观察内部模型属性,dart,dart-polymer,Dart,Dart Polymer,我正在设置自定义聚合物元素,这些元素需要显示来自需要传递的模型属性对象的数据 我可以成功显示属性的值,但当我更新属性对象内的值时,该值不会在元素内更新 我错过了什么?我基于以下例子: wb-control-text.html wb-property.dart 解决方案是在getter和setter上使用,这样PathObserver就可以获取它 <polymer-element name="wb-control-text"> <template> <di
<polymer-element name="wb-control-text">
<template>
<div>
<label for="{{id}}">{{label}}</label>
<input type="text" id="{{id}}" value="{{value}}" />
<button on-click="{{updateValue}}">Update me</button>
</div>
</template>
<script type="application/dart" src="wb-control-text.dart"></script>
</polymer-element>
import "package:polymer/polymer.dart";
import "package:rqn_workbench/wb-property.dart";
@CustomTag("wb-control-text")
class WorkbenchControlTextElement extends PolymerElement {
final TextProperty _idProperty = new TextProperty("id", value: "1");
final TextProperty _valueProperty = new TextProperty("value", value:"Bla");
final TextProperty _labelProperty = new TextProperty("label", value:"Label!");
WorkbenchControlTextElement.created() : super.created();
@published String get id => _idProperty.value;
void set id(String id) { _idProperty.value = id; }
@published String get value => _valueProperty.value;
void set value(String value) { _valueProperty.value = value; }
@published String get label => _labelProperty.value;
void set label(String label) { _labelProperty.value = label; }
void updateValue() {
value += "Bla";
print(value); // Will print the appended value
}
}
library workbench_property;
import "package:polymer/polymer.dart";
@observable
class Property {
String key;
}
@observable
class TextProperty extends Property {
String value;
TextProperty ( String key, {String value} ) {
this.key = key;
this.value = value;
}
}