最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

如何使用Angular-UIBootstrap组件实现警报的方法

来源:动视网 责编:小采 时间:2020-11-27 19:33:52
文档

如何使用Angular-UIBootstrap组件实现警报的方法

如何使用Angular-UIBootstrap组件实现警报的方法:这篇文章主要介绍了关于如何使用Angular-UI Bootstrap组件实现警报的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下Angular-UI Bootstrap提供了许多组件,从流行的的Bootstrap项目移植到Angular 指令(显著的减少了代码量)。
推荐度:
导读如何使用Angular-UIBootstrap组件实现警报的方法:这篇文章主要介绍了关于如何使用Angular-UI Bootstrap组件实现警报的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下Angular-UI Bootstrap提供了许多组件,从流行的的Bootstrap项目移植到Angular 指令(显著的减少了代码量)。


这篇文章主要介绍了关于如何使用Angular-UI Bootstrap组件实现警报的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

Angular-UI Bootstrap提供了许多组件,从流行的的Bootstrap项目移植到Angular 指令(显著的减少了代码量)。如果你计划在Angular应用中使用Bootstrap组件,我建议细心检查。话虽如此,直接使用Bootstrap,应该也是可以工作的。

Angular controller可以共享service的代码。警报就是把service代码共享到controller的很好用例之一。

Angular-UI Bootstrap文档提供了下面的例子:

view

<div ng-controller="AlertDemoCtrl">
 <alert ng-repeat="alert in alerts" type="alert.type" close="closeAlert($index)">{{alert.msg}}</alert>
 <button class='btn' ng-click="addAlert()">Add Alert</button>
</div>

controller

function AlertDemoCtrl($scope) {
 $scope.alerts = [
 { type: 'error', msg: 'Oh snap! Change a few things up and try submitting again.' }, 
 { type: 'success', msg: 'Well done! You successfully read this important alert message.' }
 ];
 $scope.addAlert = function() {
 $scope.alerts.push({msg: "Another alert!"});
 };
 $scope.closeAlert = function(index) {
 $scope.alerts.splice(index, 1);
 };
}

鉴于我们要在app中的不同的控制器中创建警报,并且跨控制器的代码不好引用,我们将要把它移到service中。

alertService

'use strict';
/* services.js */
// don't forget to declare this service module as a dependency in your main app constructor!
var appServices = angular.module('appApp.services', []);
appServices.factory('alertService', function($rootScope) {
 var alertService = {};
 // create an array of alerts available globally
 $rootScope.alerts = [];
 alertService.add = function(type, msg) {
 $rootScope.alerts.push({'type': type, 'msg': msg});
 };
 alertService.closeAlert = function(index) {
 $rootScope.alerts.splice(index, 1);
 };
 return alertService;
 });

view

<div>
 <alert ng-repeat="alert in alerts" type="alert.type" close="closeAlert($index)">{{ alert.msg }}</alert>
</div>

最后,我们需要将alertService’s中的closeAlert()方法绑定到$globalScope。

controller

function RootCtrl($rootScope, $location, alertService) {
 $rootScope.changeView = function(view) {
 $location.path(view);
 }
 // root binding for alertService
 $rootScope.closeAlert = alertService.closeAlert; 
}
RootCtrl.$inject = ['$scope', '$location', 'alertService'];

我不完全赞同这种全局绑定,我希望的是直接从警报指令中的close data属性中调用service方法,我不清楚为什么不这样来实现。

现在创建一个警报只需要从你的任何一个控制器中调用alertService.add()方法。

function ArbitraryCtrl($scope, alertService) {
 alertService.add("warning", "This is a warning.");
 alertService.add("error", "This is an error!");
}

文档

如何使用Angular-UIBootstrap组件实现警报的方法

如何使用Angular-UIBootstrap组件实现警报的方法:这篇文章主要介绍了关于如何使用Angular-UI Bootstrap组件实现警报的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下Angular-UI Bootstrap提供了许多组件,从流行的的Bootstrap项目移植到Angular 指令(显著的减少了代码量)。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top