BootStrap+Angularjs+NgDialog实现模式对话框


Posted in Javascript onAugust 24, 2016

本篇文章主要介绍了"angularjs+bootstrap+ngDialog实现模式对话框",对于Javascript教程感兴趣的同学可以参考一下: 在完成一个后台管理系统时,需要用表显示注册用户的信息。但是用户地址太长了,不好显示。所以想做一个模式对话框,点击详细地址按钮时,弹出对话框,显示地址。

效果如下图:

BootStrap+Angularjs+NgDialog实现模式对话框

BootStrap+Angularjs+NgDialog实现模式对话框

通过查阅资料,选择使用ngDialog来实现,ngDialog是一个用于Angular.js应用的模式对话框和弹出窗口。ngDialog非常小(?2K),拥有简约的API,通过主题高度可定制的,具有唯一的依赖Angular.js。

ngDialog github地址: https://github.com/likeastore/ngDialog

ngDialog Demo : http://likeastore.github.io/ngDialog/

首先引入需要的ngdialog的js和css文件。

可通过CDN引入

<span style="font-size:18px;">//cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.3.7/css/ngDialog.min.css
//cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.3.7/css/ngDialog-theme-default.min.css
//cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.3.7/css/ngDialog-theme-plain.min.css
//cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.3.7/js/ngDialog.min.js</span>

在user.js里的controller中注入依赖

<span style="font-size:18px;">var userControllers = angular.module('userControllers',['ngDialog']);
userControllers.controller('userController',['$scope','$http','ngDialog',function($scope,$http, ngDialog){
$scope.name = 'user';
$scope.user = "";
$scope.address = "";
//获取用户信息
$http.get('http://localhost:3000/users').success(function(data) {
$scope.user = data;
console.log($scope.user);
});
//点击详细地址按钮时,跳出模式对话框
$scope.clickToAddress = function (address) {
$scope.address = address;
ngDialog.open({ template: 'views/test.html',//模式对话框内容为test.html
className: 'ngdialog-theme-plain',
scope:$scope //将scope传给test.html,以便显示地址详细信息
});
};
}])</span>

test.html(读取scope中的address并显示,表格样式采用bootstrap )

<span style="font-size:18px;"><table class="table">
<thead>
<tr>
<th>
收件人姓名
</th>
<td>
{{address.name}}
</td>
</tr>
<tr>
<th>
收件地址
</th>
<td>
{{address.content}}
</td>
</tr>
<tr>
<th>
手机号
</th>
<td>
{{address.phone}}
</td>
</tr>
</thead>
</table></span>

user.html (显示用户的信息,当地址不为空时,显示详细地址按钮,并点击按钮时,调用controller中的clickToAddress函数)

<span style="font-size:18px;"><div>
<div class="panel panel-warning">
<div class="panel-heading">
用户管理
</div>
<div class="row">
<div class="col-lg-8"></div>
<div class="col-lg-4">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search for..." ng-model='search'>
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div>
</div>
</div>
<table class="table">
<thead>
<th>姓名</th>
<th>余额 <span class="glyphicon glyphicon-flash" aria-hidden="true"> </span></th>
<th>头像</th>
<th>默认地址</th>
<th>操作</th>
</thead>
<tbody>
<tr ng-repeat="user in user | filter : search" >
<td>{{user.userName}}</td>
<td>{{user.residualPayment}}</td>
<td ng-if="user.url != 'undefined' ">{{user.url}}</td>
<td ng-if="user.url == 'undefined' ">系统默认头像</td>
<td ng-if="user.address.length == 0 ">暂无默认地址</td>
<td ng-if="user.address.length != 0"ng-repeat="address in user.address " ng-click="clickToAddress(address)">
<button type="button" class="btn btn-info navbar-btn">详细地址</button>
</td>
<td>
<button type="button" class="btn btn-warning navbar-btn" ng-click="remove(user._id)">删除</button>
</td>
</tr>
</tbody>
</table>
</div>
</div></span>

以上所述是小编给大家介绍的BootStrap+Angularjs+NgDialog实现模式对话框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript开发包大全整理
Dec 22 Javascript
angularjs 处理多个异步请求方法汇总
Jan 06 Javascript
JS长整型精度问题实例分析
Jan 13 Javascript
Jquery基础教程之DOM操作
Aug 19 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
Feb 15 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
Aug 02 Javascript
JavaScript注册时密码强度校验代码
Jun 30 Javascript
浅谈angular.copy() 深拷贝
Sep 14 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
May 31 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
Jul 20 Javascript
如何实现vue的tree组件
Dec 03 Vue.js
vue @click.native 绑定原生点击事件
Apr 22 Vue.js
JS for...in 遍历语句用法实例分析
Aug 24 #Javascript
用JS中split方法实现彩色文字背景效果实例
Aug 24 #Javascript
BootStrap table表格插件自适应固定表头(超好用)
Aug 24 #Javascript
BootStrap的table表头固定tbody滚动的实例代码
Aug 24 #Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
Aug 24 #Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
Aug 24 #Javascript
详解Bootstrap的iCheck插件checkbox和radio
Aug 24 #Javascript
You might like
SONY SRF-40W电路分析
2021/03/02 无线电
PHP开发入门教程之面向对象
2006/12/05 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
斜45度寻路实现函数
2009/08/20 Javascript
jquery 表单进行客户端验证demo
2009/08/24 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
jQuery中的deferred对象和extend方法详解
2017/05/08 jQuery
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
[01:08:24]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第一场 2月5日
2021/03/11 DOTA
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
Python双向循环链表实现方法分析
2018/07/30 Python
对Django外键关系的描述
2019/07/26 Python
Python程序控制语句用法实例分析
2020/01/14 Python
python程序如何进行保存
2020/07/03 Python
Python如何使用input函数获取输入
2020/08/06 Python
10个示例带你掌握python中的元组
2020/11/23 Python
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
德国机车企业:FC-Moto
2017/10/27 全球购物
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
生产车间主管岗位职责
2013/12/28 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
python如何利用traceback获取详细的异常信息
2021/06/05 Python
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL