AngularJS Bootstrap详细介绍及实例代码


Posted in Javascript onJuly 28, 2016

AngularJS Bootstrap

AngularJS 的首选样式表是 Twitter Bootstrap, Twitter Bootstrap 是目前最受欢迎的前端框架。

查看 Bootstrap教程。

Bootstrap

你可以在你的 AngularJS 应用中加入 Twitter Bootstrap,你可以在你的 <head>元素中添加如下代码:

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">

如果站点在国内,建议使用百度静态资源库的Bootstrap,代码如下:

<link rel="stylesheet" href="//apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.min.css">

以下是一个完整的 HTML 实例, 使用了 AngularJS 指令和 Bootstrap 类。

HTML 代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="//apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body ng-app="myApp" ng-controller="userCtrl">

<div class="container">

<h3>Users</h3>

<table class="table table-striped">
 <thead>
 <tr>
  <th>编辑</th>
  <th>名</th>
  <th>姓</th>
 </tr>
 </thead>
 <tbody>
 <tr ng-repeat="user in users">
  <td>
  <button class="btn" ng-click="editUser(user.id)">
   <span class="glyphicon glyphicon-pencil"></span>编辑
  </button>
  </td>
  <td>{{ user.fName }}</td>
  <td>{{ user.lName }}</td>
 </tr>
 </tbody>
</table>

<hr>
<button class="btn btn-success" ng-click="editUser('new')">
<span class="glyphicon glyphicon-user"></span>创建新用户
</button>
<hr>

<h3 ng-show="edit">创建新用户:</h3>
<h3 ng-hide="edit">编辑用户:</h3>

<form class="form-horizontal">
 <div class="form-group">
 <label class="col-sm-2 control-label">名:</label>
 <div class="col-sm-10">
 <input type="text" ng-model="fName" ng-disabled="!edit" placeholder="名">
 </div>
 </div> 
 <div class="form-group">
 <label class="col-sm-2 control-label">姓:</label>
 <div class="col-sm-10">
 <input type="text" ng-model="lName" ng-disabled="!edit" placeholder="姓">
 </div>
 </div>
 <div class="form-group">
 <label class="col-sm-2 control-label">密码:</label>
 <div class="col-sm-10">
 <input type="password" ng-model="passw1" placeholder="密码">
 </div>
 </div>
 <div class="form-group">
 <label class="col-sm-2 control-label">重复密码:</label>
 <div class="col-sm-10">
 <input type="password" ng-model="passw2" placeholder="重复密码">
 </div>
 </div>
</form>

<hr>
<button class="btn btn-success" ng-disabled="error || incomplete">
<span class="glyphicon glyphicon-save"></span>修改
</button>

</div>

<script src="myUsers.js"></script>

</body>
</html>

运行结果:

AngularJS Bootstrap详细介绍及实例代码

AngularJS Bootstrap详细介绍及实例代码

指令解析

元素中。
AngularJS 指令 描述
为 元素定义一个应用(未命名)

元素定义一个控制器
循环 users 对象数组,每个 user 对象放在
当点击

如果 edit = true 显示

元素

如果 edit = true 隐藏

元素

为应用程序绑定 元素
如果发生错误或者 ncomplete = true 禁用

Bootstrap 类解析

元素 Bootstrap 类 定义
container 内容容器
table 表格
table-striped 带条纹背景的表格
btn 按钮
btn-success 成功按钮
glyphicon 字形图标
glyphicon-pencil 铅笔图标
glyphicon-user 用户图标
glyphicon-save 保存图标
form-horizontal 水平表格
form-group 表单组
control-label 控制器标签
col-sm-2 跨越 2 列
col-sm-10 跨越 10 列

JavaScript 代码

myUsers.js

angular.module('myApp', []).controller('userCtrl', function($scope) {
$scope.fName = '';
$scope.lName = '';
$scope.passw1 = '';
$scope.passw2 = '';
$scope.users = [
{id:1, fName:'Hege', lName:"Pege" },
{id:2, fName:'Kim', lName:"Pim" },
{id:3, fName:'Sal', lName:"Smith" },
{id:4, fName:'Jack', lName:"Jones" },
{id:5, fName:'John', lName:"Doe" },
{id:6, fName:'Peter',lName:"Pan" }
];
$scope.edit = true;
$scope.error = false;
$scope.incomplete = false; 

$scope.editUser = function(id) {
 if (id == 'new') {
 $scope.edit = true;
 $scope.incomplete = true;
 $scope.fName = '';
 $scope.lName = '';
 } else {
 $scope.edit = false;
 $scope.fName = $scope.users[id-1].fName;
 $scope.lName = $scope.users[id-1].lName; 
 }
};

$scope.$watch('passw1',function() {$scope.test();});
$scope.$watch('passw2',function() {$scope.test();});
$scope.$watch('fName', function() {$scope.test();});
$scope.$watch('lName', function() {$scope.test();});

$scope.test = function() {
 if ($scope.passw1 !== $scope.passw2) {
 $scope.error = true;
 } else {
 $scope.error = false;
 }
 $scope.incomplete = false;
 if ($scope.edit && (!$scope.fName.length ||
 !$scope.lName.length ||
 !$scope.passw1.length || !$scope.passw2.length)) {
  $scope.incomplete = true;
 }
};

});

JavaScript 代码解析

Scope 属性 用途
$scope.fName 模型变量 (用户名)
$scope.lName 模型变量 (用户姓)
$scope.passw1 模型变量 (用户密码 1)
$scope.passw2 模型变量 (用户密码 2)
$scope.users 模型变量 (用户的数组)
$scope.edit 当用户点击创建用户时设置为true。
$scope.error 如果 passw1 不等于 passw2 设置为 true
$scope.incomplete 如果每个字段都为空(length = 0)设置为 true
$scope.editUser 设置模型变量
$scope.watch 监控模型变量
$scope.test 验证模型变量的错误和完整性

以上就是对AngularJS Bootstrap 资料的整理,后续继续补充,希望能帮助编程AngularJS的同学。

Javascript 相关文章推荐
JavaScript 基础篇(一)
Mar 30 Javascript
javascript中的parseInt和parseFloat区别
Jul 12 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
Aug 28 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
May 29 Javascript
jQuery实现的Div窗口震动特效
Jun 09 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
Oct 31 Javascript
JSON格式的键盘编码对照表
Jan 29 Javascript
js实现网页多级级联菜单代码
Aug 20 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
Jul 28 Javascript
详解puppeteer使用代理
Dec 27 Javascript
微信小程序实现搜索历史功能
Mar 26 Javascript
微信小程序文章详情页跳转案例详解
Jul 09 Javascript
JavaScript中windows.open()、windows.close()方法详解
Jul 28 #Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
Jul 28 #Javascript
AngularJS中的API(接口)简单实现
Jul 28 #Javascript
js 声明数组和向数组中添加对象变量的简单实例
Jul 28 #Javascript
AngularJS 输入验证详解及实例代码
Jul 28 #Javascript
jquery实用技巧之输入框提示语句
Jul 28 #Javascript
jQuery stop()用法实例详解
Jul 28 #Javascript
You might like
PHP5新特性: 更加面向对象化的PHP
2006/11/18 PHP
yii框架中的Url生产问题小结
2012/01/16 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
javascript实现移动端上传图片功能
2020/08/18 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
Python tkinter模版代码实例
2020/02/05 Python
python设置环境变量的作用整理
2020/02/17 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
2020/07/03 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
易程科技软件测试笔试
2013/03/24 面试题
Servlet的生命周期
2013/08/25 面试题
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
整脏治乱工作简报
2015/07/21 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
导游词之安徽九华山
2019/09/18 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js