zoukankan      html  css  js  c++  java
  • angular可自定义的对话框,弹窗指令

    指令不明的,推荐 AngularJS指令参数详解

    github地址

    以下为示例代码

    <!DOCTYPE html>
    <html lang="en" ng-app="app">
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript" src="../dist/lib/angular/angular.min.js"></script>
        <link rel="stylesheet" type="text/css" href="../dist/css/all.min.css" />
        <script type="text/javascript" src="../dist/app.js"></script>
        <title></title>
        <script>
            /**************************************************************************
             *可自定义弹窗指令
             * <dialog load-data="对象"></dialog>
             *传入一个参数对象。以下为参数解释
             * $scope.data={//共三个参数
                isShow: true,//必须 控制显示和隐藏
                template: {//必须 内容模板
                    url: webroot+'/views/dialog/warn-dialog.html',//模板地址
                    events: function (events) {//对模板进行事件绑定,所有事件和值必须绑定在传入的对象上
                          //events:用于绑定事件和值
                    }
                },
                buttons: {//必须 buttons:{}空对象表示没有按钮,按钮可0-n个
                    key: 'name',//非必须,用于控制按钮显示哪个值
                    list: [//非必须,用于自定义按钮,list存在,key必须存在,不存在表示使用默认按钮
                        {//元素内容自定义,用key控制显示
                            name: buttonName,
                            value: 'true'
                        },
                        {
                            name: '取消',
                            value: 'false'
                        }
                    ],
                    callback: function (item, index) {//使用按钮必须存在,按钮点击的回调事件,item:当前选中的元素,index:元素下标
                        $scope.data.isShow = false;//修改显示隐藏
                        if (item.value) {
                            //window.location.href='login.html';
                        }
                    }
                }
               }
             *  <dialogload-data="data"></dialog>
             *
             **************************************************************************/
            app.controller('dialog', ['$scope','webroot', function ($scope,webroot) {
                $scope.content="这是一个传参测试";
                $scope.buttonName='确认';
    
                $scope.data = {
                    isShow: true,
                    template: {
                        url: webroot + '/views/dialog/warn-dialog.html',
                        events: function (events) {
                            //因为在当前$scope中定义,所以能够直接访问当前$scope空间
                            events.content = $scope.content;
                            events.back=function(){//因为传递的是值,需要自己进行触发.
                                $scope.backData ='这是一个回传:'+events.content;
                            };
    
                        }
                    },
                    buttons: {
                        key: 'name',
                        list: [
                            {
                                name: $scope.buttonName,
                                value: 'true'
                            },
                            {
                                name: '取消',
                                value: 'false'
                            }
                        ],
                        callback: function (item, index) {
                            $scope.data.isShow = false;
                            console.log('这是一个回调事件'+index);
                            console.log(item);
                        }
                    }
                };
            }]);
        </script>
    </head>
    <body ng-controller="dialog">
    <dialog load-data="data"></dialog>
    <button ng-click="data.isShow=!data.isShow">点击按钮测试</button>
    {{backData}}
    <script type="text/javascript" src="../dist/directive/dialogBox.js"></script>
    
    </body>
    </html>

    实例github可以下载

    样式文件,根据自己需求自行修改。 

  • 相关阅读:
    在Repeater的FooterTemplate显示某列总计
    对数据库数据操作,工厂方法设计模式(Factory Method)
    网页(aspx)与用户控件(ascx)交互与逻辑处理
    使用反射把用户控件(ASCX)传至网页(ASPX)
    软件研发公司,外观设计模式(Facade)
    看菜谱点餐,迭代设计模式(Iterator)
    There is not enough space on the disk.
    站点某些网页想显示母版页内的用户控件,某些网页不想显示,怎样实现
    C#反射(Reflection)对类的属性get或set值
    MS access 数据定时导入MS SQL Server
  • 原文地址:https://www.cnblogs.com/v-weiwang/p/6075307.html
Copyright © 2011-2022 走看看