Browser 使用Ember CLI的Ember 2.0,如何访问“document.location.host”?

Browser 使用Ember CLI的Ember 2.0,如何访问“document.location.host”?,browser,ember.js,session-variables,ember-cli,javascript-objects,Browser,Ember.js,Session Variables,Ember Cli,Javascript Objects,将以下行放在app/controllers/application.js中 console.logdocument.location.host 将不起作用,因为浏览器上下文不存在。 替代方案是什么?它还应该与其他javascript对象一起使用 解决:这是一个结构错误新手 从“余烬”导入余烬 导出默认的Ember.Controller.extend{ myInfo:“测试”, i:console.logdocument.location.host }; 他正在工作。重要的是在新生成的控制器上添加

将以下行放在app/controllers/application.js中


console.logdocument.location.host

将不起作用,因为浏览器上下文不存在。 替代方案是什么?它还应该与其他javascript对象一起使用

解决:这是一个结构错误新手

从“余烬”导入余烬

导出默认的Ember.Controller.extend{ myInfo:“测试”,
i:console.logdocument.location.host };
他正在工作。重要的是在新生成的控制器上添加“i:”或“initialize:”在余烬g控制器应用程序之后,正如{}所期望的,当然是一个js哈希对象,而不是一系列语句。

已解决。我只是必须意识到。扩展。。。本身不需要代码语句,而是一个Mixin类。因此,实际上它需要一个属性名,例如i或mySpecialInit,在语法上后跟冒号:和一个函数,或者这里直接是一个语句console.logdocument.location.host。

你能提供这个控制器的完整代码吗?你是说window.location.host吗?你为什么认为浏览器上下文不存在?console.logdocument.location.host适用于控制器代码中的任何地方。您应该将此作为答案发布,并将其标记为已接受@Jean Fontaine,以便其他人知道您解决了问题。