繁体   English   中英

Ember.js处理View事件后过渡到路由

[英]Ember.js Transition to route after handling View event

设定:

我有一个Ember应用程序,支持使用Imgur API上传图像。

我已经有一个可以使用的路线和模板来处理任何Imgur ID,但是我想在上传新图像(使用返回的Imgur ID)后过渡到该路线

这是应用程序的相关部分: http : //jsbin.com/iGOXivEW/2/edit

问题:

  1. 这是否正确使用了View以及处理变更事件的正确方法?
  2. 如何从视图过渡到“ imgur”路线并将新的Imgur ID传递给它?

您可以在视图内部处理ui事件。 您可以通过移动将图像发布到控制器的代码,将发送到igur或其他地方的逻辑与视图逻辑分开。

可以通过从视图调用来完成过渡,

this.controller.transitionToRoute('imgur', imgurId);

或者如果您将所有内容移至控制器,

transitionToRoute('imgur', imgurId);

http://emberjs.com/api/classes/Ember.Controller.html#method_transitionToRoute

明智的设计,无论将图像发布的逻辑放在哪里,如果您将转换逻辑移到特定位置(即完成)内的通用位置(即控制器,甚至更好地移至路线),都可能会有所帮助。

这样,您现在始终可以在哪里维护从当前路线导航的逻辑。 要从视图或控制器中调用控制器中的动作或路由,您需要使用send函数,即在视图中this.controller.send('completed')内部,在控制器this.send('completed');内部this.send('completed'); 动作需要放置在动作对象内。

http://emberjs.com/guides/views/handling-events/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM