我们可以从ember js中的组件路由吗?

Jos*_*eph 8 ember.js

我有有一个按钮与像的动作的部件 {{动作"创建"}} 和内部的动作创建我写像 this.transitionTo("page.new"); 但我得到一个例外,如无法读取未定义的属性'enter'可以有人回答吗?只是想知道是否有可能从组件路由?

cou*_*lix 7

这样做的方法是this.sendAction()从组件中使用并将其冒泡到路由器.然后路由器可以调用this.transitionTo().

link-to注入路由的方式是这样的_routing: inject.service('-routing'),

https://github.com/emberjs/ember.js/blob/v2.1.0/packages/ember-routing-views/lib/components/link-to.js#L530


Jos*_*eph 4

我发现答案是可能的。我们可以简单地使用我们的组件操作中的以下代码

App.Router.router.transitionTo('new route');

我们将收到一个回调,在其中我们可以设置新路线的模型。使用以下代码。

App.Router.router.transitionTo('your route here').then(function(newRoute){

    newRoute.currentModel.set('property','value');

});
Run Code Online (Sandbox Code Playgroud)