在我的应用程序控制器中,我有以下内容:
export default Ember.Controller.extend({
isOpen: true,
actions: {
toggleSidebar () {
this.toggleProperty('isOpen');
}
}
});
我想将isOpen传递给从其他模板(而不是application.hbs)调用的组件,例如:
{{#main-main isOpen=isOpen}}
{{/main-main}}
因为我在组件内部有:
export default Ember.Component.extend({
tagName: 'main',
classNames: ['main'],
classNameBindings: ['isOpen:main--active'],
});
我当时认为应该像这样工作..但它没有。
如何将属性传递给组件main-main?
谢谢你们!
答案 0 :(得分:0)
在要将isOpen
属性传递给组件的每个模板(templates / example.hbs)中,您必须在与该模板关联的控制器中声明isOpen
属性(controllers / example.js)。
您可以通过在controllers / example.js中使用依赖注入来实现此目的:
application: Ember.inject.controller(),
isOpen: Ember.computed.alias('application.isOpen')