路由器状态逻辑与模型的耦合是否错误?

时间:2012-12-13 04:57:19

标签: model-view-controller coding-style ember.js

以例如:

Ember.Model.reopen({
  show: Ember.observer( function(){
    var target = this.get( 'showPath' ),
        waypoint = Ember.Route.transitionTo( 'root' ),
        destination = Ember.Route.transitionTo( target ),
        router = App.get( 'router' );

    waypoint( router );
    destination( router, this );
  })
});

App.Post.reopen({
  showPath: 'posts.show'
});

这里我们在模型上定义了一个show方法,该方法从当前状态转换到目标,首先在root停止。

我发现这使得代码与显示对象的简单任务有关:

App.Post.find(1).show();

不管这是否有用,我的麻烦在于我们将模型类与路由器进行了一些非常明显的耦合。

我的问题是......

这有什么值得担心的吗?

1 个答案:

答案 0 :(得分:3)

我的直觉是这是错的。当您考虑Ember应用程序的依赖关系图时,很明显路由器依赖于模型,因此如果模型不依赖于路由器则更好。