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 相关文章推荐
firefox下input type=&quot;file&quot;的size是多大
Oct 24 Javascript
基于jquery库的tab新形式使用
Nov 16 Javascript
分享自己用JS做的扫雷小游戏
Feb 17 Javascript
深入理解jQuery layui分页控件的使用
Aug 17 Javascript
AngularJs  Creating Services详解及示例代码
Sep 02 Javascript
js 数据存储和DOM编程
Feb 09 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
Jul 04 Javascript
微信小程序 input输入及动态设置按钮的实现
Oct 27 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
Oct 15 Javascript
Vue学习之axios的使用方法实例分析
Jan 06 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
Apr 03 Javascript
VueCli生产环境打包部署跨域失败的解决
Nov 13 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采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
Fullpage.js固定导航栏-实现定位导航栏
2016/03/17 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
js脚本中执行java后台代码方法解析
2019/10/11 Javascript
js回调函数仿360开机
2019/12/26 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
详解Python中的变量及其命名和打印
2016/03/11 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
python批量解压zip文件的方法
2019/08/20 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
英国HYPE双肩包官网:英国本土时尚潮牌
2018/09/26 全球购物
大二法学专业职业生涯规划范文
2014/02/12 职场文书
小学生开学感言
2014/02/28 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
出生公证书样本
2014/04/04 职场文书
小学教师个人总结
2015/02/05 职场文书
三好学生个人总结
2015/02/15 职场文书
民事代理词范文
2015/05/25 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL
详解vue身份认证管理和租户管理
2021/05/25 Vue.js