Ember:我应该从控制器或组件调用转换

时间:2017-07-07 17:05:15

标签: ember.js

我想知道在Ember过渡到另一条路线的最佳做法是什么。目前在我的控制器中,我调用了ember数据存储,然后使用transitionToRoute函数转换到另一个路径,但是现在我看到你在组件中注入了路由器作为服务。这是我应该移动这个逻辑或控制器的地方仍然适合这个吗?

2 个答案:

答案 0 :(得分:5)

最佳做法是使用Route加载和变异数据以及转换。请记住:数据下降,操作起来。

https://guides.emberjs.com/v2.14.0/routing/

答案 1 :(得分:0)

始终最佳做法是使用route。如果您被迫在智能组件中的任何其他位置使用转换,则可以使用ember-router-service-polyfill addon

ember install ember-router-service-polyfill

然后您可以注入router服务并使用transitionTo方法。

import Ember from 'ember';

export default Ember.Component.extend({
  router: Ember.inject.service(),

  actions: {
    next() {
      this.get('router').transitionTo('other.route');
    }
  }
});