我正在研究 angularJS,我想创建通用警报功能,因此我可以在所有控制器中使用它来进行验证和其他目的。
我的服务是,
JodoModule.service("CommonSrv", function ($rootScope) {
this.showAlert = function (message, status) {
$rootScope.alertMessage = message;
$rootScope.showAlert = status;
}
this.hideAlert = function () {
$rootScope.showAlert = false;
}
})
控制器一,
$rootScope.CommonSrv = CommonSrv;
CommonSrv.showAlert("No notifications available", true);
控制器二,
$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”,这工作正常。但是我应该写什么来代替“???whichName???”控制器。
因为我想使用来自不同控制器的相同服务。但是当我调用“hideAlert()”操作时,它需要去哪里执行?
我们不能在 ng-Controller 目录中写入 serviceName。
那么我需要在我的代码中进行哪些更改才能使其正常工作?