在emberjs中移动重复的路由代码

时间:2015-02-16 12:09:15

标签: javascript ember.js

我有两条非常相似的路线:



App.DiscountRoute = Ember.Route.extend({
    model: function() {
        return Ember.RSVP.hash({
            categories: this.store.findAll('discountCategory'),
            discounts: this.store.findAll('discount'),
            total_size: 6
        });
    }
});






App.CategoryRoute = Ember.Route.extend({
    renderTemplate: function() {
        this.render('discount');
    },
    model: function(params) {
        return Ember.RSVP.hash({
            categories: this.store.findAll('discountCategory'),
            discounts: this.store.filter('discount',function(discount) {
                return discount.get('discountCategory').get('id')==params.category_id
            }),
            total_size: 6
        });
    }
});




我应该在哪里放置类别模型和total_size计数器,这些计数器可以从我的应用程序中的任何路径获得?

1 个答案:

答案 0 :(得分:1)

正如@ Kingpin2k在评论中指出的那样,Application路由可能是存储应用范围状态信息的最佳选择,因为Application路由将始终在其他路由之前触发。我相信这可以通过两种方式中的一种来完成。

  1. 您可以使用application
  2. 在其他路线中调用modelFor('application')模型
  3. 您可以使用here
  4. 所述的needs API