【发布时间】:2016-11-11 10:35:12
【问题描述】:
我正在开发一个 ember-cli 项目,我在其中创建了许多可重用的组件。我希望每个模板(hbs)文件中都有这些组件。我可以在每个模板中执行 {{component1}} {{component2}} {{component3}} 但这对我来说是多余的,因为我必须在每个模板中编写所有这些行。我只想知道我是否可以在所有模板中注入组件,例如将服务注入到路由、组件等我需要的地方。
下面是我如何注入服务的示例
/intializers/session-object.js
export function intialize (application){
application.inject('route','session','service:session');
application.inject('controller','session','service:session');
application.inject('component','session','service:session');
application.inject('adapter','session','service:session');
});
我尝试将组件注入到与上述类似的模板中。
/intializers/session-object.js
export function intialize (application){
application.inject('template','my-component','component:my-component');
});
如预期的那样,上面的代码失败了。 ember 指南中没有提到我可以在模板中注入组件。但是,想知道以前是否有人这样做过。
我相信 ember 不允许我们将组件注入到模板中可能是有充分理由的。
在解释为什么无法在 ember.js 中实现这一点的原因或提供解决方案(如果可以实现)方面的任何帮助都很棒。在此先感谢各位。
【问题讨论】:
-
为什么不使用application.hbs?
标签: ember.js service ember-data components ember-cli