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 相关文章推荐
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
Sep 08 Javascript
浅谈jquery中delegate()与live()
Jun 22 Javascript
javascript给span标签赋值的方法
Nov 26 Javascript
详谈angularjs中路由页面强制更新的问题
Apr 24 Javascript
JS原生带小白点轮播图实例讲解
Jul 22 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
Sep 15 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
Nov 02 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
Aug 02 Javascript
vue本地打开build后生成的dist文件夹index.html问题
Sep 04 Javascript
vue 父组件通过v-model接收子组件的值的代码
Oct 27 Javascript
JavaScript多种图形实现代码实例
Jun 28 Javascript
浅谈react路由传参的几种方式
Mar 23 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无限分类的类
2007/01/02 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
javascript 学习笔记(八)javascript对象
2011/04/12 Javascript
『jQuery』.html(),.text()和.val()的概述及使用
2013/04/22 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
2016/09/21 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
python web框架学习笔记
2016/05/03 Python
利用Python实现网络测试的脚本分享
2017/05/26 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
详解python里使用正则表达式的全匹配功能
2017/10/19 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
python Kmeans算法原理深入解析
2019/08/23 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
九州传奇上机题
2014/07/10 面试题
银行职员个人的工作自我评价
2014/02/15 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
导师就业推荐信范文
2014/05/22 职场文书
标准版离职证明书
2014/09/12 职场文书
2014年小学德育工作总结
2014/12/05 职场文书
小学三八妇女节活动总结
2015/02/06 职场文书