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中的几个运算符
Jun 29 Javascript
javascript中的new使用
Mar 20 Javascript
网页中返回顶部代码(多种方法)另附注释说明
Apr 24 Javascript
JavaScript数据结构中串的表示与应用实例
Apr 12 Javascript
微信小程序实现YDUI的ScrollTab组件
Feb 02 Javascript
JS获取input[file]的值并显示在页面的实现方法
Mar 09 Javascript
详解create-react-app 自定义 eslint 配置
Jun 07 Javascript
layui的table单击行勾选checkbox功能方法
Aug 14 Javascript
小程序如何定位所在城市及发起周边搜索
Feb 11 Javascript
bootstrap-table后端分页功能完整实例
Jun 01 Javascript
js在HTML的三种引用方式详解
Aug 29 Javascript
JavaScript嵌入百度地图API的最详细方法
Apr 16 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 动态添加记录
2009/03/10 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
PHP微信分享开发详解
2017/01/14 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
Python中base64与xml取值结合问题
2019/12/22 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
Python try except else使用详解
2021/01/12 Python
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
青奥会口号
2014/06/12 职场文书
军训拉歌口号
2014/06/13 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
2015年商场工作总结
2015/04/27 职场文书
董事长致辞
2015/07/29 职场文书
数学备课组工作总结
2015/08/12 职场文书
业余无线电通联Q语
2022/02/18 无线电