在Ember 1.11中,Ember依赖注入无法与路由器一起使用

时间:2016-09-09 20:39:43

标签: ember.js

我有一个ember组件,我需要商店和路由器。我试图使用Ember.inject.service注入它们。它注入了商店,但不是路由器:

import Ember from 'ember';

const MyComponent = Ember.Component.extend({
  store: Ember.inject.service('store'),
  routing: Ember.inject.service('-routing'),

  classNames: ['my-component'],
  schema: Ember.computed('store', 'routing', function schema() {

    // This works. Shows up when I log it.
    const store = this.get('store');

    // This doesn't
    const routing = this.get('routing');

    // return schema from store. This works.
  }),
});

export default MyComponent

我在Ember版本1.11.3上。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我不确定Ember 1.13,但在我的Ember 2.x应用程序中,我按上述方式注入路由器,然后按如下方式转换:

    this.get('routing.router').transitionTo('routeName', model, {
      queryParams: {
        queryName: queryValue
      }
    });

ps:通常认为最佳做法是将一个动作闭包传递给一个负责路径转换的组件,而不是让组件负责处理转换。