簡體   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