使用Web UI时,我可以将数据传递给这样的组件:
<my-element" name="{{someName}}"></my-element>
如何将数据传递给Polymer元素?
答案 0 :(得分:7)
您可以将数据传递给Polymer元素,但需要更多细节。想象一下具有单个字段的元素name
:
// In element.dart.
import 'package:polymer/polymer.dart';
@CustomTag("my-element")
class MyElement extends PolymerElement with ObservableMixin {
@observable String name;
}
以下是随附的html:
// In element.html.
<polymer-element name='my-element' attributes="name">
<template>
<h2>{{name}}</h2>
</template>
<script type="application/dart" src="element.dart"></script>
</polymer-element>
请注意attributes="name"
部分。这会配置一些东西,以便在创建元素时可以传递name属性(如果元素需要,可以通过用逗号分隔它们来传递多个属性)。
创建元素时,将其包装在<template>
标记中,该标记绑定到要传递给它的值:
// In index.html.
<template id='name1' bind>
<my-element name="{{}}"></my-element>
</template>
<template id='name2' bind>
<my-element name="{{}}"></my-element>
</template>
每个<template>
都绑定到一个单独的值(我们将在一秒钟内完成)。创建元素时,您可以使用{{}}
语法获取该值。
可以通过以下方式将数据绑定到模板:
// In index.dart.
void main() {
query('#name1').model ='Bob';
query('#name2').model ='Rohan';
}
这样,第一个<my-element>
创建时名为'Bob',第二个<my-element>
创建时名为'Rohan'。