AngularJS Bootstrap
Lembaran gaya pilihan untuk AngularJS ialah Twitter Bootstrap Twitter Bootstrap ialah rangka kerja bahagian hadapan yang paling popular.
Lihat tutorial Bootstrap.
Bootstrap
Anda boleh menambah Twitter Bootstrap pada aplikasi AngularJS anda Anda boleh menambah kod berikut pada elemen <head> anda:
< ;link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
Jika tapak berada di China , adalah disyorkan untuk menggunakan Bootstrap pustaka sumber statik Baidu, kodnya adalah seperti berikut:
<link rel="stylesheet" href="//apps.bdimg.com/libs/bootstrap/ 3.3.4/css /bootstrap.min.css">
Berikut ialah contoh HTML lengkap, menggunakan arahan AngularJS dan kelas Bootstrap.
Kod HTML
Contoh
<!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>
Contoh Jalankan »
Klik butang "Jalankan Instance" untuk melihat contoh dalam talian
Analisis Arahan
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> 元素 |
Analisis kelas 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', fungsi($scope) {
$scope.fName = '';
$skop.lNama = '';
$skop.passw1 = '';
$skop. passw2 = '';
$scope.users = [
{id:1, fName:'Hege', lNama:"Pege" },
{id :2, fNama:'Kim', lNama:"Pim" },
{id:3, fName: 'Sal', lNama:"Smith" },
{id:4, fNama:'Jack', lNama :"Jones" },
{id:5, fNama:'John', lNama:"Doe" } ,
{id:6, fNama:'Peter',lNama:"Pan" }
];
$skop. edit = benar;
$scope.error = false;
$scope.incomplete = false;
$scope.editUser = fungsi(id) {
jika (id == 'baharu') {
$scope.edit = benar;
$skop.tidak lengkap = benar;
$scope.fName = '';
$scope.lName = '';
} lain {
$scope.edit = false;
$scope.fName = $scope.users[id-1].fName;
$scope.lName = $scope.users[id-1].lName;
}
};
$skop.$watch('passw1',fungsi() {$scope.test();});
$scope.$watch('passw2',fungsi() {$scope.test();});
$scope.$watch('fName', function() {$scope.test();});
$scope.$watch('lName', fungsi() {$scope.test();});
$scope.test = function() {
jika ($scope.passw1 !== $scope.passw2) {
$scope.error = benar;
} lain {
$scope.error = salah;
}
$scope.incomplete = false;
if ($scope.edit && (!$scope.fName.length ||
!$scope.lName.length ||
!$scope.passw1.length || !$scope.passw2.length)) {
$scope.incomplete = benar;
}
};
});
$scope.fName = '';
$skop.lNama = '';
$skop.passw1 = '';
$skop. passw2 = '';
$scope.users = [
{id:1, fName:'Hege', lNama:"Pege" },
{id :2, fNama:'Kim', lNama:"Pim" },
{id:3, fName: 'Sal', lNama:"Smith" },
{id:4, fNama:'Jack', lNama :"Jones" },
{id:5, fNama:'John', lNama:"Doe" } ,
{id:6, fNama:'Peter',lNama:"Pan" }
];
$skop. edit = benar;
$scope.error = false;
$scope.incomplete = false;
$scope.editUser = fungsi(id) {
jika (id == 'baharu') {
$scope.edit = benar;
$skop.tidak lengkap = benar;
$scope.fName = '';
$scope.lName = '';
} lain {
$scope.edit = false;
$scope.fName = $scope.users[id-1].fName;
$scope.lName = $scope.users[id-1].lName;
}
};
$skop.$watch('passw1',fungsi() {$scope.test();});
$scope.$watch('passw2',fungsi() {$scope.test();});
$scope.$watch('fName', function() {$scope.test();});
$scope.$watch('lName', fungsi() {$scope.test();});
$scope.test = function() {
jika ($scope.passw1 !== $scope.passw2) {
$scope.error = benar;
} lain {
$scope.error = salah;
}
$scope.incomplete = false;
if ($scope.edit && (!$scope.fName.length ||
!$scope.lName.length ||
!$scope.passw1.length || !$scope.passw2.length)) {
$scope.incomplete = benar;
}
};
});
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 | 验证模型变量的错误和完整性 |