在嵌套的Ember.js路由中覆盖父模型加载

时间:2015-07-30 09:50:40

标签: javascript ember.js

我正在学习Ember并试图找出如何进行注册表格。

我之前有一条/users路线,我创建了一条users/new路线。在我的用户路线中,我从商店加载所有用户 - 现在我的users/new路由将加载所有用户 - 这不是真正需要的。

我应该为索引创建单独的users/index.js路由,还是有其他方式来覆盖我应该使用的父模型加载?

// app/router.js
import Ember from 'ember';
import config from './config/environment';

var Router = Ember.Router.extend({
  location: config.locationType
});

Router.map(function() {
  this.resource('users', function() {
    this.route('new');
  });

  this.route('users', function() {
    this.route('new');
  });
});

export default Router;
// routes/users.js
import Ember from 'ember';

export default Ember.Route.extend({
  model: function(){
    return this.store.findAll('user');
  }
});
// routes/users/new.js
import Ember from 'ember';

export default Ember.Route.extend({
  model: function(){
    return this.store.createRecord('user');
  }
});

1 个答案:

答案 0 :(得分:1)

如果您不需要在users子路线中收集users,那么创建users.index路线并将users集合用作{{1}中的模型是合理的仅限路由。在这种情况下,您可以删除users.index路由和控制器文件。