dart - @observable和@published有什么区别

标签 dart dart-polymer

在Polymer 0.10.1之前,@published批注在声明它的Polymer元素上创建了一个属性。
随聚合物0.11.0改变。从那时起,需要@PublishedProperty(reflect: true)来使字段值可用作属性。

似乎自此更新以来@published@observable具有相同的效果。我想念什么吗?

最佳答案

@published属性仍然允许您声明性地将值用作HTML中的属性。那你仍然可以做:

<my-element myprop="{{hello}}"></my-element>

所做的更改是通过attributes属性以过程方式访问值,然后必须包括@PublishedProperty(reflect: true)。 (如果您直接与CustomTag类进行交互,则情况并非如此。

需要@PublishedProperty(reflect: true):

var x = querySelector('x-foo');
x.bar = "hi";
// ...
print(x.attributes["bar"]);

这也需要@PublishedProperty(reflect: true):

/* CSS */
x-foo[bar="hi"] { background-color: blue; }

这不是:

XFoo x = querySelector('x-foo');
x.bar = "hi";
...
print(x.bar);

这是从New Polymer Release 0.12.0讨论组得出的

关于dart - @observable和@published有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25769768/

相关文章:

flutter - 如何在 flutter 中解决这个问题 'Token retrieval failed: SERVICE_NOT_AVAILABLE'?

flutter - 无法应用正确的逻辑来获取约会日期

flutter - 如何使 SingleChildScrollView 居中但使背景拉伸(stretch)以填充屏幕?

data-binding - 使父类(super class)字段可见

dart - HTML 和 Dart 导入的区别

flutter - 如何在后台运行蓝牙和位置代码?

flutter - 在文本字段中实现文本语音转换

dart - 在 Dart 中使用 ObservableList 更新模板

dart - polymer 元素在酒吧构建后不起作用 - 我忘记了什么吗?

dart - Dart 有小部件库吗?