是否可以动态实例化传递 JSON 数据的自定义聚合物元素
Is it possible to dynamically instantiate custom polymer element passing JSON data
是否可以将像 JSON 数组这样的复杂数据传递给动态实例化的自定义元素?
我想实例化一个元素,传递给他一个大 JSON 数组。
该元素将为 JSON 数组的每一行启动子元素,将 JSON 行传递给它们。
我想知道如何将 JSON 数据传递给动态实例化的元素
喜欢:
<my-list>
元素将通过首先检索 JSON 数据来填充自身,然后使用新获取的数据动态创建子元素
对于每一行,它将以编程方式(从 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);
}
(未测试)
是否可以将像 JSON 数组这样的复杂数据传递给动态实例化的自定义元素?
我想实例化一个元素,传递给他一个大 JSON 数组。 该元素将为 JSON 数组的每一行启动子元素,将 JSON 行传递给它们。 我想知道如何将 JSON 数据传递给动态实例化的元素
喜欢:
<my-list>
元素将通过首先检索 JSON 数据来填充自身,然后使用新获取的数据动态创建子元素对于每一行,它将以编程方式(从 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);
}
(未测试)