zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    java客户端集成RocketMq
    java8常见流式操作
    Spring源码架构以及编译
    Rocket消息存储原理
    由二叉树中序和先序遍历求二叉树的结构
    10.14重写ENqUEUE和DEQUEUE,使之能处理队列的下溢和上溢。
    10.12 说明如何用一个数组A[1..n]来实现两个栈,使得两个栈中的元素总数不到n时,两者都不会发生上溢,注意PUSH和POP操作的时间应为O(1)。
    用类模板实现对任何类型的数据进行堆栈进行存取操作。
    java struts2+urlrewrite 配置404错误
    c++ sizeof 及别名定义2种示例
  • 原文地址:https://www.cnblogs.com/xfdmb/p/6781477.html
Copyright © 2011-2022 走看看