[英]Transition to route's action from Ember object
我是炭烬新手。 我有一个现有的Ember App,我需要在其中实现功能。 我有一个Ember对象,如下所示
`import Ember from 'ember'`
CallService = Ember.Object.extend
... other code here
_updateConnectedLeadId: (->
console.log "Do i get here??"
**pass the route action here**
).observes('some_other_here')
`export default CallService`
不幸的是,我无法将整个代码放在这里。
我的路线看起来像
ApplicationRoute = Ember.Route.extend
actions:
showLead: ->
console.log data
console.log "did i get here?"
@transitionTo('dashboard')
`export default ApplicationRoute`
我尝试在我的方法中使用@send('showLead')
和@sendAction('showLead')
,但是没有运气。
我的主要目的是在console.log "Do i get here??"
进行过渡。 被陈列。 我不确定在这里我走的路是否正确。
我也尝试过直接使用@transitionTo('dashboard')
和@transitionToRote('dashboard')
,但这会引发错误。
我已经为此停留了一天,我一无所知。
如有任何指导和帮助,我将不胜感激。 谢谢
您有一个问题,您试图从名为call service的Ember.Object
内触发路由操作或触发转换。 您创建的代码不清楚自定义对象的创建位置。 由于更改了对象的属性更新而触发了观察者的位置,依此类推。
不过,我试图为您提供一个可行的例子 。 如果打开旋转按钮,您将看到我在index.js
路由中创建了一个my-object
实例,并将其作为model
传递给my-component
。 单击my-component.hbs
的按钮时。 将切换my-object
实例dummyVariable
并执行my-object
内的观察者。 这里最棘手的部分是我将index
路由本身作为ownerRoute
属性传递给了my-object
实例; 这样我就可以从my-object.js
内触发index
路由的dummyAction
ownerRoute.send('dummyAction');
以便执行相关操作并执行到my-route
转换。 虽然,我相信这可能会解决您的问题; 我对设计不太满意。 我认为这不是Ember.Objects了解路由,动作,控制器等的好方法。我相信正确的方法是从此构造中观察对象的相关属性,并自行执行必要的动作。 此外,您可以考虑创建service
而不是对象,并将服务直接注入到路由中,而不是创建扩展Ember.Object
的类的实例。 如果必须从Ember.Object
扩展, Ember.Object
可以根据需要通过使用实例初始化器将相关的路由,控制器等注入该特定对象类的实例 。
无论如何,请看看旋转的感觉,并询问更多是否需要。 如果可以的话,我很乐意提供帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.