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 相关文章推荐
jquery 插件 人性化的消息显示
Jan 21 Javascript
jquery实现excel导出的方法
Apr 04 Javascript
JavaScript定时器实现的原理分析
Dec 06 Javascript
React实现点击删除列表中对应项
Jan 10 Javascript
数组Array的排序sort方法
Feb 17 Javascript
详解vuex 中的 state 在组件中如何监听
May 23 Javascript
javascript 中select框触发事件过程的分析
Aug 01 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
Aug 17 Javascript
vue2.x+webpack快速搭建前端项目框架详解
Nov 30 Javascript
详解Vue单元测试Karma+Mocha学习笔记
Jan 31 Javascript
在vue组件中使用axios的方法
Mar 16 Javascript
原生JS实现轮播图效果
Oct 12 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
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
js实现最短的XML格式化工具实例
2015/03/12 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
js+canvas实现纸牌游戏
2020/03/16 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
js实现双色球效果
2020/08/02 Javascript
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
用python实现百度翻译的示例代码
2018/03/09 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
python如何把字符串类型list转换成list
2020/02/18 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
python如何查看网页代码
2020/06/07 Python
python3.5的包存放的具体路径
2020/08/16 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
python如何读取.mtx文件
2021/04/22 Python
手写实现JS中的new
2021/11/07 Javascript
Ajax实现异步加载数据
2021/11/17 Javascript