2014-06-08 23 views
1

我有類似的代碼模板:使用Ember,我該如何動態綁定每個塊中包含的視圖助手中的屬性?

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

我明白上面的代碼將無法正常工作,但它說明了我的問題,我想達到的目標。我不想將Ember.Select中選擇的內容綁定到迭代項目的屬性,而是將其綁定到迭代項目名稱屬性名稱的控制器屬性。

我該怎麼做?

+0

item.name = '富',並且要綁定值在控制器屬性'foo'? – Kingpin2k

+0

是的,如果有助於更清楚地說明,item是Model,則items是一個RecordArray。我需要我的控制器具有以item的name屬性命名的屬性。 – rjoll

回答

0

您將不得不動態創建計算屬性,因爲您正在綁定值的值,不幸的是,如果您決定更改值的值,則會出現問題,但是,我將離開取決於你的玩法。

<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({ 茶茶: '富', FOO: '欄'

});

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

相關問題