AngularJS Toaster的简单介绍
github地址: https://github.com/jirikavi/AngularJS-Toaster
参考博客: https://www.cnblogs.com/youzhuxiaoyao/p/4953642.html
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>
最新文章
- C# WinForm 导出导入Excel/Doc 完整实例教程[使用Aspose.Cells.dll]
- POJ 2386 题解
- LinkedList实现队列和堆栈的代码
- java的三元运算符
- 关于web前端的学习路线
- 【BZOJ 1038】【ZJOI 2008】瞭望塔
- 自己动手编译apache-tomcat-6.0.41-src源码
- Redis 笔记与总结1 安装部署
- js对象4-js原型--杂志
- RX编程笔记——JavaScript 获取地理位置
- MINA的session.close
- iOS判断iPhone型号
- POJ 2886 Who Gets the Most Candies? 线段树。。还有方向感
- 手机访问php环境移动端静态页面
- JavaScript闭包只学这篇就够了
- Android学习记录:线程
- 如何在方法上贴上attribute(特性)捕捉方法的异常,来实现我们的需求
- 有关Windows10中诊断和反馈隐私设置
- CSS内嵌样式实现打字效果
- 031 分布式中,zookeeper的部署
热门文章
- java基础(多态)_03
- redis原理及实现
- JDK 5 ~ 10 新特性倾情整理!
- Qt 学习之路 2(41):model/view 架构
- C++_基础5-内存模型
- 多气体组分DEM流动的DMP并行内存错误
- C - 思考使用差分简化区间操作
- 【前缀和】【two-pointer】【贪心】洛谷 P3143 [USACO16OPEN]钻石收藏家Diamond Collector 题解
- UESTC - 1610 递推方程+矩阵快速幂
- dapper源码(.net 4.0)