[英]How to register a function on $rootScope on angularjs ready
我需要在angularjs中注冊一個可用的方法。 此方法有2個參數(資源ID,刪除成功時的回調),它使用資源提供程序實際刪除該項。
然后注冊它,我需要angularjs注入$rootScope
和MyResourceProvider
。 我的第一個想法是在我的主頁控制器中執行此操作:
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.