[英]Ember.js Transition to route after handling View event
设定:
我有一个Ember应用程序,支持使用Imgur API上传图像。
我已经有一个可以使用的路线和模板来处理任何Imgur ID,但是我想在上传新图像(使用返回的Imgur ID)后过渡到该路线
这是应用程序的相关部分: http : //jsbin.com/iGOXivEW/2/edit
问题:
您可以在视图内部处理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');
。 动作需要放置在动作对象内。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.