我已经定义了以下 Ember.View:
App.ControlGroup = Ember.View.extend
classNames: ['control-group']
layoutName: 'controlGroup'
布局模板 (controlGroup.handlebars) 如下所示:
<label class="control-label">{{ view.label }}</label>
<div class="controls">
{{ yield }}
</div>
这是一个使用上面定义的视图的示例:
{{#view App.ControlGroup label="Property code"}}
{{#if isNew}}
{{view Em.TextField valueBinding="code"}}
{{else}}
<p>{{code}}</p>
{{/if}}
{{/view}}
这将生成以下html:
<div id="ember10170" class="ember-view control-group">
<label class="control-label">Property code</label>
<div class="controls">
<input id="ember10172" class="ember-view ember-text-field" type="text">
</div>
</div>
这正是我想要的。但是,我了解到在模板中使用视图的属性(见{{ view.label }}
上文,在 controlGroup.handlebars }} 中)是一种反模式,并且属性查找应该来自视图的控制器。所以我想知道该怎么做。在这种情况下,该属性与视图(html 片段)本身有关,因此我的实现对我来说似乎是合法的,但我很想看到其他方法。