簡體   English   中英

灰燼添加檢查過渡調用上下文(路由/控制器)

[英]Ember adding check for transition call context (route/controller)

在我的Ember應用程序中,我有一個通用的mixin /代碼,其中包含一個過渡調用

myCommonFn: function() {
//this.transition('someRoute') // Works if context is route
//this.transitionTo('someRoute') // Works if context is controller
}

現在,由於此功能在多條路由中通用,因此可以從控制器或路由中觸發

我的問題是我如何確保這兩種情況都有效? 意思是我應該使用添加支票

this.constuctor() //Check if it is controller or route

還是我應該做一個空/未定義的檢查

this.transition() OR this.transitionToRoute()

使它在所有情況下都能正常工作的最佳方法是什么?

如果您的mixin應用到任何地方,最簡單的方法就是檢查並啟動。 此外,如果您有升級計划,則最終控制器將消失,因此這可能只是臨時修復。

var transition = this.transitionTo || this.transitionToRoute;

transition.apply(this, [arg1, arg2,.....]);;

您還可以再擴展兩次普通混合,並具有基本版本,控制器版本和路由版本,您可以在其中指定特定於路由/控制器的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM