2012-08-14 32 views
2

標籤標記我有我建立在Ember.js應用程序,需要<label>標籤是由標籤<input>分離的形式。這造成了一個問題b/c我似乎無法正確地綁定<label>標記的for=""屬性。Ember.js文本字段ID爲與Ember路由器

我已經看過這個Question和解決方案的評論Fiddle,但它似乎並沒有與使用Ember.Router架構

這裏是我的小提琴舉例說明問題的應用程序的工作: http://jsfiddle.net/wmarbut/jKGMW/

我會非常喜歡不要使用任何解決方案,要求我爲每個單獨的表單字段的視圖或控制器對象的實際條目。

的快速和骯髒的代碼可以在這裏看到

<table> 
    <tr> 
     <th> 
      <!-- XXX: How do I bind the "for" attribute correctly? --> 
      <label {{bindAttr for="curUser.elementId"}}>Current User</label> 
     </th> 
     <td>  
      {{view Ember.TextField valueBinding="current_user.first_name" viewName="curUser"}} 
     </td> 
    </tr> 
</table> 

回答

9

顯然,你需要明確在其命名空間view.

這撥弄訪問元素的作品:http://jsfiddle.net/wmarbut/jKGMW/5/

更新代碼將是

<table> 
<tr> 
    <th> 
     <!-- XXX: This now works --> 
     <label {{bindAttr for="view.curUser.elementId"}}>Current User</label> 
    </th> 
    <td>  
     {{view Ember.TextField valueBinding="current_user.first_name" viewName="curUser"}} 
    </td> 
</tr> 

+0

優秀。像魅力一樣工作。 – 2012-08-14 20:16:07

+0

正是我所需要的 – 2013-03-24 08:45:58

+0

當你的文本字段是動態生成的,這意味着你不能稱之爲'curUser',這將如何工作? – Cimm 2014-05-23 22:17:05