javascript - 使用 Ember 初始化器设置域相关数据

标签 javascript ember.js

我有一个 Ember 应用程序,需要根据其运行的域使用不同的数据。例如,在domain1.com 上,网站标题可能是“Domain 1 Website”,而对于domain2.org,网站标题可能是“Cool Site!”

我需要能够使用路由、 Controller 和模板中的数据。

到目前为止我的初始化程序:

import { request } from 'ic-ajax';

export function initialize(container, application) {
  var domain = document.location.host;
  return request('http://api/sites?domain=' + domain, {} ).then(function(response) {
    // make the response available to routes, controllers and templates
  });
}

export default {
  name: 'site-data',
  initialize: initialize
};

最佳答案

如果你看一下文档: http://guides.emberjs.com/v1.10.0/understanding-ember/dependency-injection-and-service-lookup/#toc_dependency-injection-with-code-register-inject-code

第二个例子

Ember.Application.initializer({
  name: 'logger',
  initialize: function(container, application) {
    var logger = {
      log: function(m) {
        console.log(m);
      }
    };

    application.register('logger:main', logger, { instantiate: false });
    application.inject('route', 'logger', 'logger:main');
  }
});

下面的解释向您展示了如何使用 .inject 使您的变量、服务或函数之一可用于应用程序中您需要的任何对象。

关于javascript - 使用 Ember 初始化器设置域相关数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33226703/

相关文章:

php - 聊天如何运作?

javascript - 文件读取器 API : how to read files synchronously

javascript - 如何实现类似于 Facebook 的面包屑导航?

ember.js - Emberjs 模板中的增量

javascript - 如何从 Ember.js 中另一个 ArrayController 的选定值更新一个 ArrayController 的内容

javascript - Ember.js 服务器端或客户端或两者?

javascript - 如何防止ember.js改变模板的结构?

javascript - javascript "detect"浏览器可以打印设置吗(特别是如果选择了打印背景颜色)?

javascript - React-select:自定义控件不呈现选择组件

javascript - session 后访问 session 用户名如何在其他 Controller 中进行身份验证