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控制文本框textarea输入字数限制的方法
Jun 17 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
Dec 27 Javascript
jquery提示效果实例分析
Nov 25 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
AngularJS ng-change 指令的详解及简单实例
Jul 30 Javascript
Vue.js每天必学之数据双向绑定
Sep 05 Javascript
vuex与组件联合使用的方法
May 10 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
Aug 31 Javascript
js正则取值的结果数组调试方法
Oct 10 Javascript
vue地址栏直接输入路由无效问题的解决
Nov 15 Javascript
详解Vue2.5+迁移至Typescript指南
Aug 01 Javascript
关于小程序优化的一些建议(小结)
Dec 10 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
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
[JS]点出统计器
2020/10/11 Javascript
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
jQuery入门问答 整理的几个常见的初学者问题
2010/02/22 Javascript
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
Python里隐藏的“禅”
2014/06/16 Python
python中os操作文件及文件路径实例汇总
2015/01/15 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
浅谈Python实现Apriori算法介绍
2017/12/20 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
django将数组传递给前台模板的方法
2019/08/06 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
给排水工程师岗位职责
2013/11/21 职场文书
建筑公司文秘岗位职责
2013/11/29 职场文书
爱岗敬业演讲稿范文
2014/01/14 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
骨干教师考核评语
2014/12/31 职场文书
民事起诉书范本
2015/05/19 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
十大好看的穿越动漫排名:《瑞克和莫蒂》第一,国漫《有药》在榜
2022/03/18 日漫
Python pyecharts绘制条形图详解
2022/04/02 Python
V Rising 服务器搭建图文教程
2022/06/16 Servers