Ember.js带有ember路由器的标签标签的TextField id

wma*_*but 2 javascript ember.js

我有一个表单,我在Ember.js应用程序中构建,要求<label>标签与标签分开<input>.这造成了一个问题b/c我似乎无法正确绑定标签的for=""属性<label>.

我已经在解决方案的评论中查看了这个问题小提琴,但它似乎不适用于使用该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>
Run Code Online (Sandbox Code Playgroud)

wma*_*but 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>
Run Code Online (Sandbox Code Playgroud)