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 相关文章推荐
防止xss和sql注入:JS特殊字符过滤正则
Apr 18 Javascript
Javascript中构造函数要注意的一些坑
Jan 23 Javascript
jQuery实现优雅的弹窗效果(6)
Feb 08 Javascript
微信小程序 蓝牙的实现实例代码
Jun 27 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
May 14 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
Sep 28 Javascript
详解VUE单页应用骨架屏方案
Jan 17 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
Mar 09 Javascript
Vue+Express实现登录状态权限验证的示例代码
May 05 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
May 15 Javascript
Vue动态生成表格的行和列
Jul 18 Javascript
Vue2.0 实现页面缓存和不缓存的方式
Nov 12 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 中文乱码解决办法总结分析
2009/07/30 PHP
php学习之数据类型之间的转换代码
2011/05/29 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
基于Bootstrap的网页设计实例
2017/03/01 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
2017/05/15 jQuery
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
Python判断是否json是否包含一个key的方法
2018/12/31 Python
使用python实现语音文件的特征提取方法
2019/01/09 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
车间班组长岗位职责
2013/11/13 职场文书
质检的岗位职责
2013/11/17 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
家庭贫困证明
2015/06/16 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android
python热力图实现的完整实例
2022/06/25 Python
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript