dart - Polymer Dart 1.0.0 中@reflectable 的用途是什么?

标签 dart dart-polymer

我已经知道一些我必须像这样使用@reflectable 的地方

@property String get name Band =>_nameBand;
@reflectable void set nameBand(val) {
   _nameBand = val;
   notifyPath('nameBand', _nameBand;
}

对于通过点击元素触发的事件。
<paper-button on-click="clicked"></paper-button>

在元素类定义中,您可以在其中定义要在单击事件上调用的事件处理程序方法。
... 
@reflectable
void clicked([_, __]) {
   ... 
}

如果没有 @reflectable 注释,Polymer 将无法在单击纸质按钮时找到您想要使用的 setter 或方法。为什么需要@reflectable,比如它的目的是什么?

我意识到我似乎在回答我自己的问题,但我希望得到一些澄清。谢谢。

最佳答案

除了@Anders 的回答...
您需要使用 @reflectable 注释每个方法您希望暴露给 Polymer 以用作事件处理程序 ( on-tap="clickHandler" ) 或用于与函数调用 (如 attribute-name="{{computeValue(someName)}}") 的绑定(bind).
您还需要注释要绑定(bind)到的模型类中的每个字段

Person extends JsProxy {
  @reflectable String firstName;
  @reflectable String lastName;
}

关于dart - Polymer Dart 1.0.0 中@reflectable 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33113659/

相关文章:

html - polymer 网格布局中的最后一行

flutter - 水平居中图像,垂直重复

flutter - 很棒的对话框无法在Flutter应用中关闭

flutter - Flutter应用程序的自定义图标显示了手动转换为复合路径的错误

html - 从自定义包中加载聚合物元素

dart - 仅当元素是另一个元素的子元素时才考虑该元素

dart - 使用 polymer.dart 在 dart 中进行双向数据绑定(bind)的示例

flutter - 如何使 Bottom Sheet 格的高度跟随 JSON 的项目数量

dart - dart pub软件包上传用户?

Dart 的 .packages 文件和链接解析