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 相关文章推荐
DOMAssitant最新版 DOMAssistant 2.5发布
Dec 25 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
Aug 09 Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
Mar 04 Javascript
javascript改变position值实现菜单滚动至顶部后固定
Jan 18 Javascript
javascript中sort() 方法使用详解
Aug 30 Javascript
jQuery插件实现适用于移动端的地址选择器
Feb 18 Javascript
bootstrap布局中input输入框右侧图标点击功能
May 16 Javascript
vue生成token保存在客户端localStorage中的方法
Oct 25 Javascript
使用pm2部署node生产环境的方法步骤
Mar 09 Javascript
js/jQuery实现全选效果
Jun 17 jQuery
基于JS实现计算24点算法代码实例解析
Jul 23 Javascript
js实现磁性吸附的示例
Oct 26 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
世界上第一台立体声收音机
2021/03/01 无线电
一个程序下载的管理程序(三)
2006/10/09 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
javascript jq 弹出层实例
2013/08/25 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
实用框架(iframe)操作代码
2014/10/23 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
angularJS中$apply()方法详解
2015/01/07 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
Vue项目中如何引入icon图标
2018/03/28 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
python 基于卡方值分箱算法的实现示例
2020/07/17 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
全球领先的在线cosplay服装商店:RoleCosplay
2020/01/18 全球购物
信息管理专业推荐信
2013/10/29 职场文书
玲玲的画教学反思
2014/02/04 职场文书
元旦晚会策划方案
2014/02/18 职场文书
十一国庆节“向国旗敬礼”主题班会活动方案
2014/09/27 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
小王子读书笔记
2015/06/29 职场文书