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 相关文章推荐
SWFObject Flash js调用类
Jul 08 Javascript
基于jquery的表头固定的若干方法
Jan 27 Javascript
js 图片随机不定向浮动的实现代码
Jul 02 Javascript
Jquery easyUI 更新行示例
Mar 06 Javascript
jQuery实现当前页面标签高亮显示的方法
Mar 10 Javascript
盘点javascript 正则表达式中 中括号的【坑】
Mar 16 Javascript
jQuery实现元素的插入
Feb 27 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
Sep 05 jQuery
浅谈JavaScript中的属性:如何遍历属性
Sep 14 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
Oct 16 Javascript
详解ES6 系列之异步处理实战
Oct 26 Javascript
jQuery实现高级检索功能
May 28 jQuery
基于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使用base64加密解密图片示例分享
2014/01/20 PHP
Yii框架form表单用法实例
2014/12/04 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
angularjs的一些优化小技巧
2014/12/06 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
在Python中使用next()方法操作文件的教程
2015/05/24 Python
Python变量作用范围实例分析
2015/07/07 Python
numpy排序与集合运算用法示例
2017/12/15 Python
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
物流仓管员工作职责
2014/01/06 职场文书
演讲稿怎么写
2014/01/07 职场文书
如何写自我鉴定
2014/03/19 职场文书
怀念母亲教学反思
2014/04/28 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
促销活动总结模板
2014/07/01 职场文书
医学专业大学生求职信
2014/07/12 职场文书
学校节水倡议书
2015/04/29 职场文书
家访教师心得体会
2016/01/23 职场文书
Python标准库之typing的用法(类型标注)
2021/06/02 Python
python运行脚本文件的三种方法实例
2022/06/25 Python