程式狂想筆記

一個攻城師奮鬥史

0%

AngularJS新手小試

AngularJS是一個MVC架構JavaScript Framework,是這幾年比較紅的。詳細介紹維基

最近簡單做了簡單輸入檔案計算,如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!doctype html>
<html lang="zh-TW" ng-app>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.11/angular.min.js"></script>
<meta charset="UTF-8">
<title>簡易檔案計算程式 WEB</title>
<script>
function select_all(){
var textBox = document.getElementById("foo");

textBox.focus();
textBox.select();
}
showFileData =function ($scope){
$scope.test = function(){
if ($scope.isShowGB) {
if ($scope.fileGBMB=="GB") {
$scope.fileData = $scope.fileNumber+"GB";
}else{
$scope.fileData = Number($scope.fileNumber/1024).toFixed(1)+"GB";
}
}else{
if ($scope.fileGBMB=="GB") {
$scope.fileData = Number($scope.fileNumber*1024).toFixed(0)+"MB";
}else{
$scope.fileData = $scope.fileNumber+"MB";
}
}
}

}

</script>
</head>
<body style="margin: 10px auto; width:90%;line-height:36px;background-color:#e6e6e6" ng-controller="showFileData" ng-form="form1">
<input type="checkbox" ng-model="isShowGB" ng-change="test()" />顯示GB<br />
檔案大小:<input type="number" ng-model="fileNumber" ng-change="test()" required /><select ng-model="fileGBMB" ng-init="fileGBMB='GB'" ng-change="test()" required>
<option value="GB">GB</option>
<option value="MB">MB</option>
</select><br />
<div ng-hide="form1.$invalid">{{fileData}}</div>
<div ng-show="form1.$invalid"><h1>必要欄位沒填!!!</h1></div>
</body>
</html>

本實驗只有用到

  • ng-model
  • ng-controller
  • ng-click
  • ng-init
  • ng-change
  • ng-form
  • ng-show / ng-hide

這次表單驗證是利用AngularJS內鍵功能來實作,form1.$invalid會傳會現在欄位是否真入正確值,還會查看HTMLtype是否符合型態,ng-show

透過這次簡單的實驗發現AngularJS是一個很實用的工具,不知道是不是JQuery Selector用習慣的係,有時候控制裡面的原件都不知道如何去控制ng-show/ng-hide來顯示出結果要呈現。

Google搜尋到不錯30天學AngularJS教學
http://ithelp.ithome.com.tw/question/10132196