如何在Polymer.dart 0.5中访问地图值/迭代地图

Ger*_*ero 2 dart polymer

我正在研究我的第一个聚合物应用,我被卡住了.如何使用聚合物访问地图值?我有一个带有地图的课程.我可以在模板中迭代列表,但是如何从地图中获取所有值?

 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)

Jus*_*ani 9

地图有两个可迭代的属性:keysvalues.我想你想要做的是迭代键然后访问值.

就像是:

<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)