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 相关文章推荐
能说明你的Javascript技术很烂的五个原因分析
Oct 28 Javascript
JQuery 操作/获取table具体代码
Jun 13 Javascript
关于iframe跨域POST提交的方法示例
Jan 15 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
Feb 08 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
Aug 17 Javascript
前端把html表格生成为excel表格的实例
Sep 19 Javascript
浅谈vue项目可以从哪些方面进行优化
May 05 Javascript
使用Node.js写一个代码生成器的方法步骤
May 10 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
Jun 06 jQuery
深入浅出vue图片路径的实现
Sep 04 Javascript
Layui 解决表格异步调用后台分页的问题
Oct 26 Javascript
Vue解析剪切板图片并实现发送功能
Feb 04 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
对盗链说再见...
2006/10/09 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
php结合curl实现多线程抓取
2015/07/09 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
Aptana调试javascript图解教程
2009/11/30 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
jquery实现楼层滚动效果
2018/01/01 jQuery
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
JavaScript实现前端倒计时效果
2021/02/09 Javascript
Python实现简单HTML表格解析的方法
2015/06/15 Python
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
python3中zip()函数使用详解
2018/06/29 Python
详解html5 postMessage解决跨域通信的问题
2018/08/17 HTML / CSS
html5实现滑块功能之type=&quot;range&quot;属性
2020/02/18 HTML / CSS
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
小学教育毕业生自荐信
2013/11/18 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
家长评语怎么写
2014/12/30 职场文书
学生保证书格式
2015/02/27 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
500字作文之难忘的同学
2019/12/20 职场文书