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 相关文章推荐
用ASP将SQL搜索出来的内容导出为TXT的代码
Jul 27 Javascript
为指定元素增加样式的js代码
Dec 09 Javascript
javascript中attribute和property的区别详解
Jun 05 Javascript
10个很棒的jQuery代码片段
Sep 24 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
JQuery中解决重复动画的方法
Oct 17 Javascript
Vue+axios 实现http拦截及路由拦截实例
Apr 25 Javascript
实例分析JS与Node.js中的事件循环
Dec 12 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
Jan 30 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
Apr 04 Javascript
vue技术分享之你可能不知道的7个秘密
Apr 09 Javascript
AngularJs中$cookies简单用法分析
May 30 Javascript
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
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
解析dedeCMS验证码的实现代码
2013/06/07 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
关于跨站脚本攻击问题
2011/12/22 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
使用jQuery将多条数据插入模态框的实现代码
2014/10/08 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
Python callable()函数用法实例分析
2018/03/17 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
Django xadmin安装及使用详解
2020/10/26 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
Auchan Direct波兰:欧尚在线杂货店
2016/10/19 全球购物
柏林通行证:Berlin Pass
2018/04/11 全球购物
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
生产总经理岗位职责
2013/12/19 职场文书
4s店活动策划方案
2014/08/25 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
大学生支教感言
2015/08/01 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL