AngularJS Bootstrap詳細介紹及執行個體代碼_AngularJS

來源:互聯網
上載者:User

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 指令 描述
<html ng-app 為 <html> 元素定義一個應用(未命名)
<body ng-controller 為 <body> 元素定義一個控制器
<tr ng-repeat 迴圈 users 對象數組,每個 user 對象放在 <tr> 元素中。
<button ng-click 當點擊 <button> 元素時調用函數 editUser()
<h3 ng-show 如果 edit = true 顯示 <h3> 元素
<h3 ng-hide 如果 edit = true 隱藏 <h3> 元素
<input ng-model 為應用程式綁定 <input> 元素
<button ng-disabled 如果發生錯誤或者 ncomplete = true 禁用 <button> 元素

Bootstrap 類解析

元素 Bootstrap 類 定義
<div> container 內容容器
<table> table 表格
<table> table-striped 帶條紋背景的表格
<button> btn 按鈕
<button> btn-success 成功按鈕
<span> glyphicon 字形表徵圖
<span> glyphicon-pencil 鉛筆表徵圖
<span> glyphicon-user 使用者表徵圖
<span> glyphicon-save 儲存表徵圖
<form> form-horizontal 水平表格
<div> form-group 表單組
<label> control-label 控制器標籤
<label> col-sm-2 跨越 2 列
<div> 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的同學。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.