Ember路由为许多和仅1项

时间:2015-03-03 22:22:57

标签: ember.js ember-router

我怎么能有一条路线给我所有的foo项目,并且还会给我一个特定的项目?

例如我想要这个:

 this.resource('foos');//for all
 this.resource('foos', {path: ' foos/foo_id'}); // for one

1 个答案:

答案 0 :(得分:2)

这个例子的工作小提琴http://jsfiddle.net/egft2ose/26/

编写路由器的正确方法是,

App.Router.map(function () {
    this.resource('foos', {'path' : '/foos/'}, function() {
        this.route('index',{'path' : ''});    /* Routes to foos/ */
        this.route('foo',{'path' : '/:foo_id'}); /* Routes to foos/foo_id */
    });
});
App.IndexRoute = Ember.Route.extend({
    redirect : function() {
        this.transitionTo('foos');
    }
});

App.FoosIndexRoute = Ember.Route.extend({
    model : function () {
        return ['Pune', 'Mumbai', 'New Delhi', 'Bengaluru'];
    }
});

App.FoosFooRoute = Ember.Route.extend({
    model : function(params) {
        return params.foo_id;
    }
});