AngularJS模态框模板ngDialog的使用详解


Posted in Javascript onMay 11, 2018

项目开始的时候我们用的对话框是AngularJS的$modal模态框,但是后来发现$modal打开的对话框是相对页面静止的,如果对话框是一个很长的表单,这样体验度就不是很好了,还有$modal传$scope不是很灵活的原因,后来就改用的$ngDialog.

官方的API在这里:https://www.npmjs.com/package/ng-dialog

首先确定你的项目已经安装了$ngDialog需要的相关文件。

接下来一个简单的demo

del.html内容如下,就是你的对话框内容,这里比较简单,只是一个确认对话框

<meta charset="UTF-8"> 
<div class="modal-header"> 
 <h4 class="modal-title">删除</h4> 
</div> 
 
<div class="modal-body"> 
 <form autocomplete="off" class="file-brief file-brief-show form-validation" name="ObsForm" id="form-new-style"> 
  <div class="col-sm-12 m-t-xs m-b-xs "> 
   <div class="form-group"> 
    <label>您确认要删除吗?</label> 
   </div> 
  </div> 
 </form> 
</div> 
<div class="modal-footer"> 
 <button type="submit" class="btn" ng-click="confirm()" >确定</button> 
 <button type="button" class="btn" ng-click="cancel()">取消</button> 
</div>

在你的Controller里添加你的方法:

$scope.del = function () { 
   ngDialog.open({ 
    template: '/del.html', 
    className: 'ngdialog-theme-default', 
    scope: $scope, 
    controller: function ($scope) { 
    ... 
     $scope.confirm = function () { 
     ... 
     }; 
     $scope.cancel = function () { 
      $scope.closeThisDialog(); 
     }; 
    } 
   }); 
};

这里template里是一个路径,其实如果对话框简单的话可以在template里直接写<div>内容,只是要加一个属性:plain:true,

对话框的高度宽度都可以自定义,width:500,//绝对宽度。或者width:‘%50' //相对宽度

针对以上两点,示例:

$scope.delBucket = function () { 
   ngDialog.open({ 
    template: '<div class="modal-header"><h4 class="modal-title">删除Bucket</h4></div>' + 
    '<div class="modal-footer"><button type="submit" class="btn" ng-click="confirm()" >确定</button>'+ 
       '<button type="button" class="btn" ng-click="cancel()">取消</button></div>', 
  plain:true, 
    className: 'ngdialog-theme-default', 
  width:600, 
    scope: $scope, 
    controller: function ($scope) { 
    ... 
     $scope.confirm = function () { 
     ... 
     }; 
     $scope.cancel = function () { 
      $scope.closeThisDialog(); 
     }; 
    } 
   }); 
  };

以上只是一个简单的示例,官方文档上还有通过id打开对话框,打开一个确认对话框等相关详细介绍。

另外有一篇对$ngDialog介绍非常详细的文章,基本上就是把官方API翻译过来了。

附上文章链接https://3water.com/article/139899.htm

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS判断数组中是否有重复值得三种实用方法
Aug 16 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
Nov 20 Javascript
jquery如何判断表格同一列不同行input数据是否重复
May 14 Javascript
jQuery中:button选择器用法实例
Jan 04 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
Mar 01 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
Nov 29 Javascript
客户端验证用户名和密码的方法详解
Jun 16 Javascript
JavaScript数组去重的几种方法效率测试
Oct 23 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
vue $set 给数据赋值的实例
Nov 09 Javascript
详解Vue.js 响应接口
Jul 04 Javascript
JavaScript语法约定和程序调试原理解析
Nov 03 Javascript
基于ionic实现下拉刷新功能
May 10 #Javascript
详解各版本React路由的跳转的方法
May 10 #Javascript
React路由管理之React Router总结
May 10 #Javascript
React从react-router路由上做登陆验证控制的方法
May 10 #Javascript
详解Angular路由之路由守卫
May 10 #Javascript
JavaScript实现一个简易的计算器实例代码
May 10 #Javascript
浅谈node.js 命令行工具(cli)
May 10 #Javascript
You might like
一个高ai的分页函数和一个url函数
2006/10/09 PHP
PHP抓屏函数实现屏幕快照代码分享
2014/01/02 PHP
php制作简单模版引擎
2016/04/07 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
Python中的localtime()方法使用详解
2015/05/22 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
python使用folium库绘制地图点击框
2018/09/21 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
python tkinter基本属性详解
2019/09/16 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
Python reversed函数及使用方法解析
2020/03/17 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
python实现三种随机请求头方式
2021/01/05 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
最好的商品表达自己:Cafepress
2019/09/04 全球购物
信息技术教学反思
2014/02/12 职场文书
意向协议书范本
2014/04/23 职场文书
教师节宣传方案
2014/05/23 职场文书
股东授权委托书范本
2014/09/13 职场文书
党支部考察意见范文
2015/06/02 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL