如何在另一个控制器 ember 中绑定应用程序控制器 属性
how to bind Application controller property in another controller ember
我在 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}
}
您可以通过以下方式访问 needs
中包含的控制器属性:
{{controllers.neededController.property}}
在你的情况下试试:
{{input value=controllers.application.search}}
参见此处示例:http://jsfiddle.net/6Evrq/
Ember needs 已弃用,现在有不同的用法。
它是这样工作的:
applicationController: Ember.inject.controller('application'),
mySearch: Ember.computed.alias('applicationController.search')
在您的 hbs 模板中 -
{{mySearch}}
与应用程序同步 属性 "search"。
您可以通过注入访问控制器内的任何控制器。
import Ember from 'ember';
export default Ember.Controller.extend({
applicationController: Ember.inject.controller('application'),
searchProperty: Ember.computed.alias('applicationController.search'),
)};
我在 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}
}
您可以通过以下方式访问 needs
中包含的控制器属性:
{{controllers.neededController.property}}
在你的情况下试试:
{{input value=controllers.application.search}}
参见此处示例:http://jsfiddle.net/6Evrq/
Ember needs 已弃用,现在有不同的用法。
它是这样工作的:
applicationController: Ember.inject.controller('application'),
mySearch: Ember.computed.alias('applicationController.search')
在您的 hbs 模板中 -
{{mySearch}}
与应用程序同步 属性 "search"。
您可以通过注入访问控制器内的任何控制器。
import Ember from 'ember';
export default Ember.Controller.extend({
applicationController: Ember.inject.controller('application'),
searchProperty: Ember.computed.alias('applicationController.search'),
)};