簡體   English   中英

如何在angularjs上注冊$ rootScope上的函數

[英]How to register a function on $rootScope on angularjs ready

我需要在angularjs中注冊一個可用的方法。 此方法有2個參數(資源ID,刪除成功時的回調),它使用資源提供程序實際刪除該項。

然后注冊它,我需要angularjs注入$rootScopeMyResourceProvider 我的第一個想法是在我的主頁控制器中執行此操作:

var HomeCtrl = function ($rootScope, MyResourceProvider) {
        $rootScope.confirmAndDeletePackage = function (sId, fCallback) {
            // do some stuff
            MyResourceProvider.delete({id: sId}, fCallback);
        }
    }

這開始實際上是我的問題。 這在常規導航(主頁 - >列表 - >選擇 - >刪除)中工作正常但如果用戶直接訪問刪除按鈕可用的頁面而不通過主頁,則此方法將不可用(因為HomeController尚未初始化)...

所以,我的問題是我在哪里可以移動這段代碼,以確保它始終在應用程序引導程序中執行。

我試過myApp.config()但沒有成功......

任何的想法?

正如@ganaraj在評論中提到的,服務可能是更好的選擇。

但是,要回答您的問題,您可以使用run()方法。

myApp.run(function($rootScope, MyResourceProvider) {
    $rootScope.confirmAndDeletePackage = function (sId, fCallback) {
        // do some stuff
        MyResourceProvider.delete({id: sId}, fCallback);
    }
})

加載所有模塊后調用run()。

暫無
暫無

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

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