AngularJS Toaster使用详解


Posted in Javascript onFebruary 24, 2017

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使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 打开窗口返回值实现代码
Mar 04 Javascript
js如何获取兄弟、父类等节点
Jan 06 Javascript
Javascript基础教程之if条件语句
Jan 18 Javascript
EasyUI中combobox默认值注意事项
Mar 01 Javascript
Augularjs-起步详解
Jul 08 Javascript
深入浅析Vue全局组件与局部组件的区别
Jun 15 Javascript
webpack4 + react 搭建多页面应用示例
Aug 03 Javascript
微信小程序实现滑动切换自定义页码的方法分析
Dec 29 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
May 15 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
layerui代码控制tab选项卡,添加,关闭的实例
Sep 04 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
Dec 17 Javascript
js获取隐藏元素的宽高
Feb 24 #Javascript
js css自定义分页效果
Feb 24 #Javascript
jQuery快速高效制作网页交互特效
Feb 24 #Javascript
Angular.js自定义指令学习笔记实例
Feb 24 #Javascript
利用原生JS与jQuery实现数字线性变化的动画
Feb 24 #Javascript
JavaScript和jQuery制作光棒效果
Feb 24 #Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
Feb 24 #Javascript
You might like
phpMyadmin 用户权限中英对照
2010/04/02 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
理解php Hash函数,增强密码安全
2011/02/25 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
Jquery判断$(&quot;#id&quot;)获取的对象是否存在的方法
2013/09/25 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
2015/06/04 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
2017/06/29 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
python的keyword模块用法实例分析
2015/06/30 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
Python中pillow知识点学习
2018/04/30 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
Python图像处理库PIL的ImageFilter模块使用介绍
2020/02/26 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
普通大学毕业生自荐信
2013/11/04 职场文书
竞选学委演讲稿
2014/09/13 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏
解决MySQL报“too many connections“错误
2022/04/19 MySQL