BootStrap+Angularjs+NgDialog实现模式对话框
程序员文章站
2023-11-18 15:17:40
本篇文章主要介绍了"angularjs+bootstrap+ngdialog实现模式对话框",对于javascript教程感兴趣的同学可以参考一下: 在完成一个后台管理系统...
本篇文章主要介绍了"angularjs+bootstrap+ngdialog实现模式对话框",对于javascript教程感兴趣的同学可以参考一下: 在完成一个后台管理系统时,需要用表显示注册用户的信息。但是用户地址太长了,不好显示。所以想做一个模式对话框,点击详细地址按钮时,弹出对话框,显示地址。
效果如下图:
通过查阅资料,选择使用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实现模式对话框,希望对大家有所帮助
下一篇: 标志诞生记:红酒标志设计流程分享