0
我正在研究angularJS,並且我想創建通用警報函數,因此我可以在所有控制器中將它用於驗證和其他用途。如何在angularjs中爲警報創建通用函數
我的服務,
JodoModule.service("CommonSrv", function ($rootScope) {
this.showAlert = function (message, status) {
$rootScope.alertMessage = message;
$rootScope.showAlert = status;
}
this.hideAlert = function() {
$rootScope.showAlert = false;
}
})
ControllerOne,
$rootScope.CommonSrv = CommonSrv;
CommonSrv.showAlert("No notifications available", true);
ControllerTwo,
$rootScope.CommonSrv = CommonSrv;
CommonSrv.showAlert("No data available", true);
控制器呼叫服務,我能夠看到警報DIV屏幕上的內容
我的看法是,
<div ng-show="showAlert" class="alertCustom">
<label>{{alertMessage}}</label>
<br /><br />
<a ng-click="CommonSrv.hideAlert()" class="btn btn-warning btn-sm">
<span style="color:brown; font-weight:bold">OK</span>
</a>
</div>
在這裏,我有共同的模板創建的,而我分配「alertMessage」和「showAlert」,這是工作的罰款。但是我應該寫什麼來代替 「??? which ???」控制器。
因爲我想使用來自不同控制器的相同服務。但是當我調用「hideAlert()」動作時,它需要去執行?
我們不能在ng-Controller目錄中寫入serviceName。
那麼,我需要改變我的代碼,使其工作?
這是因爲'CommonSrv'所需的可訪問從HTML,即你需要把它在你的範圍:'$ scope.CommonSrv = CommonSrv;'(或在根範圍內,如果你想) – floribon 2015-04-04 03:11:59
嘿,這是我的錯誤......現在它的工作......我寫了CommonSrvTemp insted只是CommonSrv ......謝謝...... :) – 2015-04-04 03:13:31