data-binding - core-list-dart 模板如何绑定(bind)到模型本身

标签 data-binding dart dart-polymer core-elements

我正在使用<core-list-dart>我的 Polymer Dart 应用程序中的元素:

<core-list-dart data="{{data}}">
  <template>
        <span>{{name}}</span>
  </template>
</core-list-dart>

Data 是 Foo 的数组,其中 Foo 是:

class Foo {
  String name;
  ...
}

是否可以在模板中引用 Foo 实例而不是他的字段?

类似于:

<core-list-dart data="{{data}}">
  <template>
        <foo-element foo="{{ITEM}}"></foo-element>
  </template>
</core-list-dart>

最佳答案

从 core_elements 版本 0.4.0 开始,模型在模板中作为 model 变量公开。

旧回复:

要绑定(bind)项目,您可以使用 {{}} 注释,如 @Günter Zöchbauer 答案中所述:

<foo-element foo="{{}}"></foo-element>

问题在于数组中的元素被 ListModel 类包装。 “真实”元素不可访问(也许可以修改库以实现这种可能性)。

解决方法是向模型对象 (Foo) 添加 getter,如下所示:

class Foo {
 String name;
 Foo get self => this;
 ...
}

所以在模板中你可以这样做:

<foo-element foo="{{self}}"></foo-element>

关于data-binding - core-list-dart 模板如何绑定(bind)到模型本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25930606/

相关文章:

mysql - 如何将数据表绑定(bind)到 reportviewer 运行时

flutter - CrossAxisAlignment 不会使列小部件居中

flutter - 位置参数太多,预期为 0,但找到了 3

android - Gradle 文件问题 : Android studio 2. 2 beta 1 错误 : Failed to resolve: com. android.databinding :library:1. 2.1

c# - 数据库集成和报告生成器

c# - DataBindingComplete 上 DataGridView 中的单元格格式

dart - 如何在Dart中实现异步/等待

dart - 使用 Polymer 或 Angular 创建测验?

templates - Dart:WAITING模板完成

dart - 从重复列表中的自定义对象访问数据