怎样写一个数字for在聚合物自定义元素模板中循环?我的意思是像
<template repeat="{{for i = 1 to 10}}">
<div>item</td>
</template>
在当前版本的 Dart 1.0 中可以吗?
目前不行,这在 Polymer.dart(或据我所知的 Polymer.js)中是不可能的。重复绑定需要一个可迭代的(请参阅重复模板部分聚合物表达式 http://pub.dartlang.org/packages/polymer_expressions图书馆)。不幸的是由于问题 12669 http://dartbug.com/12669也不可能使用列表文字来完成此操作。
使用过滤器我们可以实现这一点:
<!-- myelement.html -->
<polymer-element name="my-element">
<template>
<div>
<template repeat="{{ 5 | myFilter }}">
<p>Write me {{ }}</p>
</template>
</div>
</template>
<script type="application/dart" src="myelement.dart"></script>
</polymer-element>
// myelement.dart
import 'package:polymer/polymer.dart';
import 'package:polymer_expressions/filter.dart';
@CustomTag('my-element')
class MyElement extends PolymerElement {
final Transformer myFilter = new GenerateIterable();
MyElement.created() : super.created();
}
class GenerateIterable extends Transformer<Iterable, int> {
int reverse(Iterable i) => i.length;
Iterable forward(int i) => new Iterable.generate(i, (j) => j + 1);
}
创建一个导入 myelement.html 的页面并使用<my-element></my-element>
将输出:
<div>
<p>Write me 1</p>
<p>Write me 2</p>
<p>Write me 3</p>
<p>Write me 4</p>
<p>Write me 5</p>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)