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 相关文章推荐
对象特征检测法判断浏览器对javascript对象的支持
Jul 25 Javascript
jquery mobile changepage的三种传参方法介绍
Sep 13 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
Jan 26 Javascript
如何在node的express中使用socket.io
Dec 15 Javascript
js控制网页背景音乐播放与停止的方法
Feb 06 Javascript
第十章之巨幕页头缩略图与警告框组件
Apr 25 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
May 17 Javascript
Jquery跨域获得Json的简单实例
May 18 Javascript
JS非空验证及邮箱验证的实例
Aug 11 Javascript
AngularJS实现图片上传和预览功能的方法分析
Nov 08 Javascript
微信公众号H5支付接口调用方法
Jan 10 Javascript
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
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
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
Symfony页面的基本创建实例详解
2015/01/26 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
javascript instanceof 内部机制探析
2010/10/15 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
JS日期和时间选择控件升级版(自写)
2013/08/02 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
2015/11/25 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
JavaScript字符串对象
2017/01/14 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
JavaScript+H5实现微信摇一摇功能
2018/05/23 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
在Python的Django框架中simple-todo工具的简单使用
2015/05/30 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
python多任务及返回值的处理方法
2019/01/22 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
Ref与out有什么不同
2012/11/24 面试题
个人自我鉴定怎么写
2013/10/28 职场文书
法制宣传日活动总结
2014/04/29 职场文书
一般党员对照检查材料
2014/09/24 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
2016教师节感恩话语
2015/12/09 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL
python中urllib包的网络请求教程
2022/04/19 Python