Model view controller 将路由器状态逻辑与模型耦合是否错误?
例如:Model view controller 将路由器状态逻辑与模型耦合是否错误?,model-view-controller,coding-style,ember.js,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'
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方法,该模型从当前状态转换到目标状态,首先在根位置停止
我发现这使得与显示对象的简单任务相关的代码变得非常简单:
App.Post.find(1).show();
撇开这是否有用不谈,我的问题是模型类与路由器的耦合非常明显
我的问题是
这是值得担心的吗?我的直觉是这是错误的。当您考虑一个Ember应用程序的依赖关系图时,很明显路由器依赖于模型,因此如果模型不依赖于路由器就更好了