javascript - 从 run.schedule 获取 Controller 变量

标签 javascript jquery ember.js

我有一个 EmberJS 应用程序。我想制作类似全局变量/函数的东西,它将检测用户是否从台式计算机或移动设备访问应用程序。 在主 Controller (controller/application.js)中,我有这样的代码:

    Ember.Controller.extend({
       currentUser: 0,
       lastRemoteId: 0
    })

我需要添加一个像这样的变量或函数:

    Ember.Controller.extend({
       ...,
       isMobile: function(){
          [code which detects if user visited from mobile device or not]
       }
    })

在主视图 (views/application.js) 的 didInsertElement 内部,我想获取这个 isMobile var。当我尝试执行 this.controllerFor('application') 时,我收到错误:“未定义不是函数”。像我这样的做法正确吗?

最佳答案

应用程序 Controller 被设置为应用程序 View 上的一个属性,您可以使用 getter 访问它。

var appController = this.get('controller');

关于javascript - 从 run.schedule 获取 Controller 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26142345/

相关文章:

javascript - 将 Firebase WebApp 源添加到普通 JS 或 JSON 中而不使用 <script src>?

jquery - 如何在动画到另一个位置后自动将页面滚动到 <div> 元素?

javascript - 使用 AJAX 提交表单后刷新 div

javascript - 使用 css 或 js 以一定倾斜 Angular 或椭圆形状旋转对象 360 度

javascript - 使用 link-to 从不同的 Controller 调用操作

javascript - POLYMER:在纸张项下嵌套纸张输入会禁用空格键

Javascript - 在控制台中设计文本

javascript - 如何让动画在视口(viewport)中启动一次

ember.js - 删除操作不起作用

ember.js - 链接到 Action 参数在ember js中不起作用