Javascript 处理视图事件后,Ember.js转换为路由
设置: 我有一个余烬应用程序,支持使用imgurapi上传图像 我已经有了一个工作路径和模板来处理任何Imgur ID,但是我想在上传新图像后转换到这个路径(使用返回的Imgur ID) 以下是应用程序的相关部分: 问题:Javascript 处理视图事件后,Ember.js转换为路由,javascript,ember.js,Javascript,Ember.js,设置: 我有一个余烬应用程序,支持使用imgurapi上传图像 我已经有了一个工作路径和模板来处理任何Imgur ID,但是我想在上传新图像后转换到这个路径(使用返回的Imgur ID) 以下是应用程序的相关部分: 问题: 这是视图的正确使用和处理更改事件的正确方法吗 如何从视图转换到“imgur”路径并向其传递新的imgur ID 您可以在视图内部处理ui事件,这很好。通过移动将图像发布到控制器的代码,可以将发送到igur或其他地方的逻辑与视图逻辑分开 可以通过从视图调用来完成转换 this.
您可以在视图内部处理ui事件,这很好。通过移动将图像发布到控制器的代码,可以将发送到igur或其他地方的逻辑与视图逻辑分开 可以通过从视图调用来完成转换
this.controller.transitionRoute('imgur',imgurId)代码>
或者如果你把所有东西都移到控制器上
transitionRoute('imgur',imgurId)代码>
()
就设计而言,无论张贴图像的逻辑走到哪里,如果您将转换逻辑移动到一个公共位置,即控制器,或者更好地移动到路线,在一个特定的操作(即完成)内,您可能会发现它很有用
这样,您现在就可以始终在何处维护处理当前路线导航的逻辑。要从视图或控制器调用控制器或路由中的操作,您需要使用函数send
,即内部视图this.controller.send('completed')
,内部控制器this.send('completed')代码>。动作需要放在动作对象中
()如果您使用ember cli创建应用程序,则需要通过视图执行此操作。get('controller')。TransitionRoute(..)可以工作