2013-07-23 73 views
1

模型數據與模板無法正確綁定。我看到這樣的結果,而不是實際值。EmberJs - 使用模板綁定值時發出問題

enter image description here

我創建jsFiddle這一點。所以你可以檢查。點擊「性別」/「婚姻狀況」即可獲得以上結果。

路由器:

App.FieldRoute = Ember.Route.extend({ 
    setupController: function(controller, Field) { 
    controller.set('model', App.Fields); 
    } 
}); 

模板:

<script type="text/x-handlebars" id="field"> 
    {{#each model}} 
    <div> 
     <input type="text" style="margin: 10px" placeHolder="Key" value="{{key}}"/> 
     <input type="text" style="margin: 10px" placeHolder="Desc" value="{{desc}}"/> 
     <i class="icon-trash"></i> 
    </div>  
    {{/each}} 
</script> 

回答

1

不能使用{{key}}{{desc}}內部元素屬性。 這裏描述的綁定元素屬性的正確方式是http://emberjs.com/guides/templates/binding-element-attributes/

的模板使用正確的語法將如下:

模板:

<script type="text/x-handlebars" id="field"> 
    {{#each model}} 
     <div> 
      <input type="text" style="margin: 10px" placeHolder="Key" {{bindAttr value="key"}}/> 
      <input type="text" style="margin: 10px" placeHolder="Desc" {{bindAttr value="desc"}}"/> 
      <i class="icon-trash"></i> 
     </div>  
    {{/each}} 
</script> 

的jsfiddle與工作示例:http://jsfiddle.net/dbERr/1/

您還可以使用內置的觀點Ember.TextField,但它支持您可以指定的有限數量的屬性。例如。它不支持開箱即用的style屬性。

+0

謝謝。這是工作。 – user10

+0

你有什麼想法[這篇文章](http://stackoverflow.com/questions/17807230/emberjs-how-to-filter-array-and-pass-it-to-template-via-router) – user10

1

您需要使用Ember.Textfield

<script type="text/x-handlebars" id="field"> 
    {{#each model}} 
    <div> 
     {{view Ember.TextField placeHolder="Key" valueBinding="key"}} 
     {{view Ember.TextField placeHolder="Desc" valueBinding="desc"}} 
     <i class="icon-trash"></i> 
    </div>  
    {{/each}} 
</script>