我已經得到了支持使用Imgur API圖片上傳灰燼應用程序。
我已經有一個工作路徑和模板來處理任何Imgur ID,但我希望有一個新的圖像上傳後,轉移到這條路線(使用返回的Imgur ID)
下面是相關的部分http://jsbin.com/iGOXivEW/2/edit
問題:應用程序的
- 這是正確使用查看和處理更改事件的正確方法?
- 如何從視圖切換到「imgur」路線並將新的Imgur ID傳遞給它?
我已經得到了支持使用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');
。這些操作需要放置在操作對象中。
如果您使用ember-cli創建應用程序,通過視圖,您需要執行this.get('controller')。transitionToRoute(..)將工作 – inquisitive
的[ember.js從視圖或控制器與transitionTo掙扎](可能重複http://stackoverflow.com/questions/13484238/ember-js-struggling-with-transitionto-from-視圖或控制器) – givanse