gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 17:13:16 25 4
gpt4 key购买 nike

设置:

我有一个支持使用 Imgur API 上传图片的 Ember 应用。

我已经有一个工作路线和模板来处理任何 Imgur ID,但我想在上传新图像后转换到这个路线(使用返回的 Imgur ID)

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

问题:

  1. 这是对 View 的正确使用以及处理更改事件的正确方法吗?
  2. 如何从 View 转换到“imgur”路由并将新的 Imgur ID 传递给它?

最佳答案

您可以在 View 中处理 ui 事件,这很好。通过将发布图像的代码移动到 Controller ,您可以将发送到 igur 或其他地方的逻辑与 View 逻辑分开。

转换可以通过从 View 中调用来完成,

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

或者如果您将所有内容都移至 Controller ,

transitionToRoute('imgur', imgurId);

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

明智的设计,无论发布图像的逻辑在哪里,如果您将转换逻辑移动到一个公共(public)位置,即 Controller 或更好的路线,在特定操作内即已完成,您可能会发现有帮助。

这样一来,您现在始终可以在何处维护处理当前路线导航的逻辑。要在 Controller 中调用 Action 或从 View 或 Controller 路由,您需要使用函数 send 即在 View 内部 this.controller.send('completed'),在 Controller 内部 this.send('完成');。 Action 需要放在 Action 对象中。

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

关于javascript - Ember.js 在处理 View 事件后过渡到路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20119972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com