AngularJS Toaster使用详解
angularjs toaster是一个 angularjs 提示框.基于angular v1.2.6 及以上和angular-animate. (推荐使用 /1.2.8/angular-animate.js, 因为高版本会有怪异闪烁.)
引入脚本
<link href="https://cdnjs.cloudflare.com/ajax/libs/angularjs-toaster/0.4.16/toaster.min.css" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js" ></script> <script src="https://code.angularjs.org/1.2.0/angular-animate.min.js" ></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/angularjs-toaster/0.4.16/toaster.min.js"></script>
用法1:
添加指令
<toaster-container></toaster-container>
编写弹窗调用函数
angular.module('main', ['toaster', 'nganimate']) .controller('mycontroller', function($scope, toaster) { $scope.pop = function(){ toaster.pop('success', "title", "text"); }; });
调用
<div ng-controller="mycontroller"> <button ng-click="pop()">show a toaster</button> </div>
添加关闭按钮
方式一: 全局的,为所有弹窗添加
<toaster-container toaster-options="{'close-button': true}"></toaster-container>
方式二:给close-btn 属性传递一个对象
<toaster-container toaster-options="{'close-button':{ 'toast-warning': true, 'toast-error': false } }"></toaster-container>
表示warning类型的弹窗显示关闭按钮,error类型的则不显示,不设置默认为false不显示
方式三 :在控制器里面设置:
toaster.pop({ type: 'error', title: 'title text', body: 'body text', showclosebutton: true });
这种设置会覆盖页面的属性设置,不会污染其他的弹窗设置。
自定义关闭按钮的html
<toaster-container toaster-options="{'close-html':'<button>close</button>', 'showclosebutton':true}"></toaster-container>
或者
toaster.pop({ type: 'error', title: 'title text', body: 'body text', showclosebutton: true, closehtml: '<button>close</button>' });
bodyoutputtype(body的渲染类型) 可以接受 trustedhtml', ‘template', ‘templatewithdata', ‘directive'四种类型
trustedhtml:使用此类型 toaster会调用$sce.trustashtml(toast.body)如果解析成功将会通过ng-bind-html指令被绑定到toaster,失败会抛出一个异常
作为模板处理
例如:
$scope.pop = function(){ toaster.pop({ type: 'error', title: 'title text', body: 'cont.html', showclosebutton: true, bodyoutputtype:'template', closehtml: '<span>wqeqwe</span>' }); };
作为指令来处理
toaster.pop({ type: 'info', body: 'bind-unsafe-html', bodyoutputtype: 'directive' });
.directive('bindunsafehtml', [function () { return { template: "<span style='color:orange'>orange directive text!</span>" }; }])
带数据的指令
toaster.pop({ type: 'info', body: 'bind-name', bodyoutputtype: 'directive', directivedata: { name: 'bob' } }); .directive('bindname', [function () { return { template: "<span style='color:orange'>hi {{directivedata.name}}!</span>" }; }]) <toaster-container toaster-options="{'body-output-type': 'template'}"></toaster-container>
回调函数,当弹窗被移除的时候调用,可以用于链式调用弹窗
toaster.pop({ title: 'a toast', body: 'with a callback', onhidecallback: function () { toaster.pop({ title: 'a toast', body: 'invoked as a callback' }); } });
设置弹窗位置
位置信息可以去css文件里面看需要什么位置,直接把属性值改成相应class就行,如果没有符合的就自己手动添加一个到toaster.css文件然后把名字赋值给属性就行
<toaster-container toaster-options="{'position-class': 'toast-top-full-width'}"></toaster-container> <toaster-container toaster-options="{'position-class': 'toast-top-center', 'close-button':true}"></toaster-container>
以上所述是小编给大家介绍的angularjs toaster使用详解,希望对大家有所帮助
上一篇: Win服务程序编写以及安装一般步骤
下一篇: 怎么在联通手机营业厅查询上网记录?