解决方法
我不知道这是否是正确的方法.但是一般来说EAK试图避免污染全局命名空间.所以一种使全局变量可以访问的方法是使用初始化器注册全局依赖关系,并将它们注入到所有的控制器中.这是与存储数据将存储注入控制器相同的方式.
内部应用/初始化器创建global.js文件
- var globals = Ember.Object.extend({
- name: 'Edgar Allen Poe'
- });
- export default {
- name: "Globals",initialize: function(container,application) {
- container.typeInjection('component','store','store:main');
- application.register('global:variables',globals,{singleton: true});
- application.inject('controller','globals','global:variables');
- }
- };
这将把全局变量注入所有控制器.
您可以在模板中引用它
- {{globals.name}}