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的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 Javascript
DIV菜单层实现代码
Nov 19 Javascript
解决jquery插件冲突的问题
Jan 23 Javascript
js简单网速测试方法完整实例
Dec 15 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
Feb 05 Javascript
Bootstrap布局之栅格系统详解
Jun 13 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
Aug 26 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
Aug 24 Javascript
微信小程序在text文本实现多种字体样式
Nov 08 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
Nov 08 Javascript
解决Nuxt使用axios跨域问题
Jul 06 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
Jul 22 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
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
php计算税后工资的方法
2015/07/28 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
javascript Array.remove() 数组删除
2009/08/06 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
python列表操作使用示例分享
2014/02/21 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
2020/05/22 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
2020/08/07 Python
Python如何在bool函数中取值
2020/09/21 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
python excel和yaml文件的读取封装
2021/01/12 Python
CSS3动画:5种预载动画效果实例
2017/04/05 HTML / CSS
中医药大学市场营销专业自荐信
2013/09/29 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
质量承诺书格式
2014/05/20 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
党校个人总结
2015/03/04 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
Python基础之数据类型知识汇总
2021/05/18 Python