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的一些看法
May 27 Javascript
用JS实现3D球状标签云示例代码
Dec 01 Javascript
js获取select标签的值且兼容IE与firefox
Dec 30 Javascript
javascript创建和存储cookie示例
Jan 07 Javascript
jquery JSON的解析方式示例介绍
Jul 27 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
Sep 13 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
Sep 18 Javascript
jQuery仿写百度百科的目录树
Jan 03 Javascript
AngularJS自定义指令之复制指令实现方法
May 18 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
Oct 31 Javascript
在element-ui的select下拉框加上滚动加载
Apr 18 Javascript
JavaScript适配器模式原理与用法实例详解
Mar 09 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中关于普通表单多文件上传的处理方法
2011/03/25 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
PHP递归的三种常用方式
2019/02/28 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
js动态删除div元素基本思路及实现代码
2014/05/08 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
vue component 中引入less文件报错 Module build failed
2019/04/17 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
node静态服务器实现静态读取文件或文件夹
2019/12/03 Javascript
Vue快速实现通用表单验证的示例代码
2020/01/09 Javascript
Python实现自动登录百度空间的方法
2017/06/10 Python
numpy中的高维数组转置实例
2018/04/17 Python
python实现大转盘抽奖效果
2019/01/22 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
承诺函范文
2015/01/21 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书