使用Ember,如何动态绑定每个块中包含的视图助手中的属性?

时间:2014-06-08 04:18:25

标签: ember.js handlebars.js

我有一个代码类似于:

的模板
{{#each item in items}}
   <label>{{item.name}}</label>
   {{view Ember.Select content=selectableValues value={{item.name}}}}
{{/each}}

我理解上面的代码不会起作用,但它说明了我的问题以及我想要实现的目标。我不想将在Ember.Select中选择的内容绑定到迭代项的属性,而是绑定到迭代项的名称属性的名称的控制器属性。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您必须动态创建计算属性,因为您绑定了值的值,不幸的是,如果您随后决定更改值的值,则会出现问题,但是,我&#39 ;请留给你玩。

  <script type="text/x-handlebars" data-template-name="index">

    {{input value=foo}}
    {{view App.BlahView host=controller propName=chacha}}
  </script>


  <script type="text/x-handlebars" data-template-name="blah">
    {{view.propValue}}
  </script>

代码

App.IndexController = Em.Controller.extend({   茶茶:&#39;富&#39 ;,   FOO:&#39;杆&#39;

});

App.BlahView = Em.View.extend({  
  templateName:'blah',
  setupDyna: function(){
    var propName = this.get('propName');
     Ember.defineProperty(this, 'propValue', Ember.computed(function() {
         return this.get('host').get(propName);
    }).property("host." + propName));
  }.on('init')
});

http://emberjs.jsbin.com/vunureno/1/edit