javascript - 在没有全局 Controller 的情况下从外部事件更新 Ember.js 数据

标签 javascript html ember.js

我已经开始学习 Ember.js 并且一直在尝试制作一个包含一些数据的页面,这些数据会在我收到事件(由网络套接字推送)时更新。

为了简单起见,我做了一个示例,其中我有一个节点列表,当我获得一个新节点时,我想在 Controller 上调用 addNode 来添加该节点。然后应该更新 UI。

我遇到的问题是,我设法做到这一点的唯一方法是拥有一个全局 Controller ,然后在我的模板中使用它而不是我的模板模型。

我想将 Controller 链接到路由,并在 Controller 上有一个方法在事件到达时添加数据——而不是通过一些全局列表或其他东西。

这可能吗?如果是这样的话?

我已经包含了我的示例,因此您可以更改它并向我展示它是如何完成的。

js:

x = {title : 'test'};

App = Ember.Application.create();

App.Router.map(function() {
    this.resource("system");
});

App.NodesController = Ember.ArrayController.create({
    content: [],
    addNode: function(nodeInfo){
        this.pushObject(nodeInfo);
    }
});

html:

  <script type="text/x-handlebars" id="system">
    {{#each App.NodesController}}
        {{title}}
    {{/each}}
  </script>

谢谢,杰森

最佳答案

这有点阴暗,但我不确定 ember 人员是否提供了另一种从外部获取 Controller 的方法。

jsbin

关于javascript - 在没有全局 Controller 的情况下从外部事件更新 Ember.js 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17795556/

相关文章:

html - 我能否让 CSS3 边框图像在所有现代浏览器(IE 9+、Chrome 和 Firefox)上工作?

html - 使用MSE或WebRTC时如何测量解码性能?

javascript - Ember.js 查询参数不尊重替换 : true and using replaceState

javascript - 如何在react material-ui中获取密码字段值

javascript - 如何从下到上为元素的最大高度设置动画?

html - Box-Shadow 在我的网站上不起作用

ember.js - 在 EmberJS handlebars 模板中迭代模型的属性

javascript - 使用 Handlebars 在 Ember Octane 中切换类的正确方法?

javascript - 需要有效且简化的 JS 应用程序开发的想法

javascript - 是否有通过 Javascript 访问没有 id 的 DOM 元素的通用方法?