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可以下载

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

时间: 2024-08-08 11:32:42

angular可自定义的对话框,弹窗指令的相关文章

angularjs 自定义弹窗指令

由于angularjs 项目中频繁使用弹窗,完全自行编写耗时耗力,所以结合ui-boostrap 中的modal 模块来实现功能 创建一个公共弹窗服务,在使用的组件中依赖注入后调用弹窗方法 在最外层组件(其余组件的父组件)注入弹窗服务,并定义调用弹窗的方法:其余组件require 此父组件,调用父组件中的方法 自定义一个弹窗指令,设置仅属性调用(restrict: 'A'),在主模块注入后,即可全局调用 经过一步步实践和优化后,尽量减少中间环节,最终确认使用自定义指令来实现弹窗功能. js 及c

angular创建自定义指令的四种方式

angular除了内置的部分指令,还可以通过.directive来自定义指令.要调用自定义指令,HTML 元素上需要添加自定义指令名.使用驼峰法来命名一个指令:nsHeader,在调用时使用需要-来分割:ns-header.自定义指令调用的的方式有四种,如下: 元素名 属性 类名 注释 1.使用元素名调用: 1 <!DOCTYPE html> 2 <html ng-app="myApp"> 3 <head> 4 <meta charset=&q

Taro自定义Modal对话框组件|taro仿微信、android弹窗

基于Taro多端实践TaroPop:自定义模态框|dialog对话框|msg消息框|Toast提示 taro自定义弹出框支持编译到多端H5/小程序/ReactNative,还可以自定义弹窗类型/弹窗样式.多按钮事件/样式.自动关闭.遮罩层.弹窗显示位置及自定义内容模板 用法  ▍在相应页面引入组件 import TaroPop from '@components/taroPop' import Taro from '@tarojs/taro' import { View, Text } from

自定义上下文对话框

以下是一种方法,还有一种方法:http://www.cnblogs.com/and_he/archive/2011/09/16/2178716.htmlpublic class MyContextDialog extends Dialog { public MyContextDialog(Context context) { super(context); } public MyContextDialog(Context context, int theme) { super(context,

Android重构与设计之路,从整理提示对话框弹窗开始

封装一个独立弹窗Module,这里的弹窗包括普通的Dialog方式弹框和WindowManager方式弹窗.提供一种管理项目里面弹窗的方案,便于后期修改和维护. 首先描述一个在大项目中普遍存在的一个现象:由于项目的功能多,负责功能的人不同,当功能中需要一个普通的确定取消对话框时,大部分人都选择自己写了一个,自己new一个独立的弹窗出来.这样做的好处有以下几个: 代码逻辑独立,自己写的代码自己能控制 快速方便,便于修改,便于满足各种奇怪的需求 可是这个做法导致项目中存在大量的代码冗余,大量的分散的

android 显示自定义视图对话框

activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button a

在angular的自定义回调中操作$scope

在angular的controller中有时候会使用到自定义的回调, 比如异步请求的回调函数 一般返回之后都需要更新页面的数据,即更新$scope.xx 但是如果直接 $scope.xx = data.info 这样根本不会有任何的影响 解决方案 this.callback = function (status) { $scope.$apply(function () { $scope.xx = status; }); }; Scope提供$watch方法监视Model的变化. Scope提供$

Github项目解析(十一)--&gt;一个简单,强大的自定义广告活动弹窗

转载请标明出处:一片枫叶的专栏 上一篇文章中讲解了我最近写的一个快速集成二维码扫描库,其核心的实现扫描的功能,是通过调用ZXing库实现的.由于在实现二维码扫描功能的时候发现集成二维码扫描功能并不是特别方便,于是有了将其制作成标准库的想法,这个二维码库能够快速,方便的集成二维码扫描功能,项目地址是在:android-zxingLibrary**,在项目开源后有不少同学提出了许多不错的意见,目前也在不断的迭代中,自己也学到了很多. 本文我们将讲解一个简单,强大的广告活动弹窗控件.不少App在打开的

Android中制作自定义dialog对话框的实例

http://www.jb51.net/article/83319.htm 这篇文章主要介绍了Android中制作自定义dialog对话框的实例分享,安卓自带的Dialog显然不够用,因而我们要继承Dialog类来制作自己的对话框,需要的朋友可以参考下 自定义dialog基础版很多时候,我们在使用android sdk提供的alerdialog的时候,会因为你的系统的不同而产生不同的效果,就好比如你刷的是MIUI的系统,弹出框都会在顶部显示!这里简单的介绍自定义弹出框的应用. 首先创建布局文件d