【问题标题】:associating a model with a route in emberjs将模型与 emberjs 中的路线相关联
【发布时间】:2013-08-18 04:55:50
【问题描述】:

据我了解,emberjs 中的模板从控制器获取数据。因此,获取model 数据并将其呈现给模板是控制器的工作。

文档here 将模型与这样的路线相关联:

App.FavoritesRoute = Ember.Route.extend({
  model: function() {
    // the model is an Array of all of the posts
    return App.Post.find();
  }
});

在这种情况下,ArrayController 会自动生成。


但是,还有setupController 函数。那么,我们也可以这样做吗:

App.FavoritesRoute = Ember.Route.extend({
  setupController: function(controller) {
    controller.set('model', App.Post.find());
  }
});

作为here 给出的第一个例子呢?

这两种方式做同样的事情吗?

【问题讨论】:

    标签: ember.js ember-data javascript-framework ember-model


    【解决方案1】:

    这两种方式做同样的事情吗?

    几乎。在这两种情况下,控制器的content 属性都将设置为App.Post.find() 的结果。两者都会工作

    也就是说,使用模型挂钩是执行此操作的首选方式。如果你的模型钩子返回一个承诺,路由器将等待它解决后再继续。 setupController 钩子不是这种情况。通常,您会希望避免与 setupController 挂钩的任何异步操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-10
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多