我在ApplicationController中有搜索属性,并且它与搜索的输入字段链接。 我想在ProjectController中访问ApplicationController的搜索字段。它应该是同步的。 我使用以下代码,但它不起作用。
/ app / controllers / projects / index.js(项目控制器)
import Ember from 'ember';
export default Ember.Controller.extend({
needs: ['application'],
searchBinding: 'controllers.application.search'
});
/ app / controllers / application.js(应用程序控制器)
import Ember from 'ember';
export default Ember.Controller.extend({
search: ''
)}
application.hbs
{{input value = search}
}
答案 0 :(得分:15)
Ember需求已弃用,现在使用方式不同。
它的工作原理如下:
applicationController: Ember.inject.controller('application'),
mySearch: Ember.computed.alias('applicationController.search')
在你的hbs模板中 -
{{mySearch}}
与应用程序属性“搜索”同步。
答案 1 :(得分:6)
您可以通过注入来访问控制器中的任何控制器。
import Ember from 'ember';
export default Ember.Controller.extend({
applicationController: Ember.inject.controller('application'),
searchProperty: Ember.computed.alias('applicationController.search'),
)};
答案 2 :(得分:1)
您可以通过以下方式访问needs
中包含的控制器属性:
{{controllers.neededController.property}}
在你的情况下试试:
{{input value=controllers.application.search}}
请参阅此处的示例:http://jsfiddle.net/6Evrq/