是否可以动态实例化传递 JSON 数据的自定义聚合物元素

Is it possible to dynamically instantiate custom polymer element passing JSON data

是否可以将像 JSON 数组这样的复杂数据传递给动态实例化的自定义元素?

我想实例化一个元素,传递给他一个大 JSON 数组。 该元素将为 JSON 数组的每一行启动子元素,将 JSON 行传递给它们。 我想知道如何将 JSON 数据传递给动态实例化的元素

喜欢:

  1. <my-list> 元素将通过首先检索 JSON 数据来填充自身,然后使用新获取的数据动态创建子元素

  2. 对于每一行,它将以编程方式(从 dart 文件)创建一个 <my-list-item myData=""> 将给定的 JSON 数组行作为 [=16] 传递给 <my-list-item> 元素=]

可能吗?如果是,创建子元素时如何传递数据?

我现在相当于我的-list.dart:

@PolymerRegister('my-list')
class my-list extends PolymerElement {
  @property int listSize;        // number of blink tickets per panel

  MyList.created() : super.created() {
    //retrietve
    JSON data = //will find later how to use JSON
    //Init
    initializeList(data);
  }

  void initializeList(JSON data) {
    for row in data {
      BlinkTicket ticket = new BlinkTicket(row);
    }

  }
}

我的列表-item.dart:

@PolymerRegister('my-list-item')
class MyListItem extends PolymerElement {

  @property JSON data;

  factory MyListItem() => new Element.tag('my-list-item');

  MyListItem.created() : super.created() {
    //init self with data
  }
}
<dom-module id="my-list-item>
...
</dom-module>

@PolymerRegister('my-list-item')
class MyListItem extends PolymerElement {
  factory MyListItem() => new Element.tag('my-list-item');
  MyListItem.created() : super.created();

  @property Map data;
}

然后从未来的父元素实例化它,如

List json = JSON.decode(getSomeJson());
for(var item in json) {
  var some = new SomeElement();
  Polymer.dom(root).append(some);
  // or to add it to the light DOM instead of the shady/shadow DOM
  // Polymer.dom(this).append(some);
  some.set('data', item);
}

(未测试)