如何从组件操作内部实际转换到路径?
我尝试使用@get('controller').transitionToRoute('images'),但控制器引用组件本身.我知道组件应该是自包含的,所以我应该使用视图来改善与控制器/路由的交互吗?
例
App.ImageEditorComponent = Ember.Component.extend
...
actions:
delete: ->
App.Files.removeObject(object)
@transitionToRoute('images') # This throws an exception
...
Run Code Online (Sandbox Code Playgroud) 我正在使用ember-cli 1.13.8,我有一个处理大部分逻辑的服务.现在我有一个函数可以监听某些事情是真还是假,然后可以根据它来改变路由.我宁愿不必从每条路线内部调用该功能,因为我希望它发生在每条路线上.它的目标是确定玩家是否赢了,游戏中的每次互动都是如此.
我的游戏服务内部:
init() {
...
if(true) {
console.log("you've won!");
this.transitionTo("congratulations");
}
},
Run Code Online (Sandbox Code Playgroud)
当然,这失败了,因为this不像Ember期望的那样.我知道我可以从每条路线内部调用这种方法,但我想知道是否有更好的方法来做到这一点.
谢谢
编辑
到目前为止,我已尝试在应用程序中导入,然后尝试扩展路由器.这似乎是一个坏主意.
ember.js ×2