我想手动指定Ember.Select视图的控制器:
<script type="text/x-handlebars" data-template-name="selected-date-range">
<div class="row">
<div class="col-lg-12">
<div class="well">
<img class="dashboard_icon_small" src="{%=URL('static','images/calendar_dashboard_icon_small.png')%}"/>
<h4>{{content}}
{{view Ember.Select
id="locatorSelector"
contentBinding="Dashboard.LocatorSelectorController.content"
selectionBinding="Dashboard.LocatorSelectorController.selectedLocator"
optionLabelPath="content.label"
classNames="pull-right"}}
</h4>
</div>
</div>
</div>
</script>
但这不起作用。有可能吗?
如果我在应用程序(仪表板)中复制内容/ selectedLocator,那么我可以像以下一样访问它们:
{{view Ember.Select
id="locatorSelector"
contentBinding="Dashboard.locator"
selectionBinding="Dashboard.selectedLocator"
optionLabelPath="content.label"
classNames="pull-right"}}
但我不想复制这些数据。为什么控制器无法访问?
答案 0 :(得分:1)
在“contentBinding”中访问所需控制器的模型。然后你可以直接在“selectionBinding”中引用那个模型。见下文:
{{view Ember.Select
contentBinding = "controllers.selected_locator.model"
optionLabelPath = "content.label"
selectionBinding = "model. selectedLocator"
classNames = "pull-right"}}
这应该有效。
答案 1 :(得分:0)
这应该有效,但是你之前有create
个控制器并设置它们的内容(在路线中)。你做到了吗?
更清洁的方法是通过当前的needs
包含所需的控制器,您可以在模板中访问它。
将它放在你的控制器中:
needs: ['selected_locator']
然后在你的模板中:
{{view Ember.Select
id="locatorSelector"
contentBinding="controllers.selected_locator.content"
selectionBinding="controllers.selected_locator. selectedLocator"
optionLabelPath="content.label"
classNames="pull-right"}}