我正在研究我的第一个聚合物应用,我被卡住了.如何使用聚合物访问地图值?我有一个带有地图的课程.我可以在模板中迭代列表,但是如何从地图中获取所有值?
query('#tmpl-question').model = q;
query('#tmpl-answers').model = q.map_answers;
@observable
class Question extends PolymerElement with ObservableMixin{
@observable
Map<String,String> map_answers = toObservable({}); //new Map<String,String>();
void initQuestion(){
map_answers["false1"]="1";
map_answers["true"]="42";
map_answers["false2"]="2";}}
Run Code Online (Sandbox Code Playgroud)
<template id="tmpl-answers" repeat>
<p>
<label for"a1" value="asdf"> HOW TO DISPLAY ALL MAP VALUES //iterate over list elements with {{}}
</p>
</template>
Run Code Online (Sandbox Code Playgroud)
编辑:问题在于将对象分配q给模型.
不起作用:
Question q = new Question();
query('#tmpl-question').model = q;
Run Code Online (Sandbox Code Playgroud)
如果你导入'package:polymer_expressions/polymer_expressions.dart'; 这将工作:
TemplateElement template = query('#tmpl-question');
template.bindingDelegate = new PolymerExpressions(globals: {
'uppercase': (String input) => input.toUpperCase()
});
template.model = q;
Run Code Online (Sandbox Code Playgroud)
.
<template repeat="{{j in map2.keys}}">
<li>{{map2[j]}}</li>
</template>
Run Code Online (Sandbox Code Playgroud)
地图有两个可迭代的属性:keys和values.我想你想要做的是迭代键然后访问值.
就像是:
<polymer-element ... >
<template>
<template repeat="{{ key in map_answers.keys }}">
<p>
<label>{{ map_answers[key] }}</label>
</p>
</template>
</template>
</polymer-element>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3304 次 |
| 最近记录: |