2013-08-31 35 views
2

我的工作我的第一聚合物的应用,我卡住了。如何使用聚合物访问地图值? 我有一个地图内的类。我可以遍历模板中的列表,但是如何从地图获取所有值?如何访问映射值/遍历地图在Polymer.dart 0.5

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";}} 

 <template id="tmpl-answers" repeat> 
     <p> 
      <label for"a1" value="asdf"> HOW TO DISPLAY ALL MAP VALUES //iterate over list elements with {{}} 
     </p> 
     </template> 

编辑:问题是与对象q的分配模型。

不起作用:

Question q = new Question(); 
    query('#tmpl-question').model = q; 

如果你进口 '包:polymer_expressions/polymer_expressions.dart';这将工作:

TemplateElement template = query('#tmpl-question'); 
    template.bindingDelegate = new PolymerExpressions(globals: { 
    'uppercase': (String input) => input.toUpperCase() 
    }); 
    template.model = q; 

<template repeat="{{j in map2.keys}}"> 
     <li>{{map2[j]}}</li> 
     </template> 
+0

对于飞镖聚合物1.0又见http://stackoverflow.com/questions/20334001 –

回答

9

地图有两个可迭代的属性:keysvalues。我认为你想要做的是遍历键,然后访问值。

喜欢的东西:

<polymer-element ... > 
    <template> 
    <template repeat="{{ key in map_answers.keys }}"> 
     <p> 
     <label>{{ map_answers[key] }}</label> 
     </p> 
    </template> 
    </template> 
</polymer-element> 
+0

THX!我有相同的代码,但我错过了PolymerExpressions的东西。这很混乱。 – Gero

+0

PolymerExpressions已经是默认设置,除非需要添加全局变量,否则不需要设置绑定委托。 –

+0

这根本不起作用 –