AngularJS HTML DOM AngularJS為HTML DOM 元素的屬性提供了綁定應用數據的指令。 ng-disabled指令 ng-disabled指令直接綁定應用數據到HTML的disabled屬性。 實例: <div ng-app="" ng-init="mySwitch=tru ...
AngularJS HTML DOM
AngularJS為HTML DOM 元素的屬性提供了綁定應用數據的指令。
ng-disabled指令
ng-disabled指令直接綁定應用數據到HTML的disabled屬性。
實例:
<div ng-app="" ng-init="mySwitch=true">
<p>
<button ng-disableled="mySwitch">點我!</button>
</p>
<p>
<input type="checkbox" ng-model ="mySwitch">按鈕
</p>
<p>
{{ mySwitch }}
<p>
</div>
實例講解:
ng-disabled 指令綁定應用程式數據“mySwitch”到HTML 的disabled 屬性。
ng-model 指令綁定 “mySwitch”到HTML input checkbox 元素的內容(value).
如果mySwitch 為true ,按鈕將不可用。
<p>
<button disabled>點我!</button>
</p>
如果 mySwitch 為false, 按鈕則可用:
<p>
<button>點我!</button>
</p>
ng-show 指令
ng-show 指令隱藏或顯示一個HTML 元素。
實例
<div ng-app="">
<p ng-show="true">我是可見的</p>
<p ng-show="false">我是不可見的</p>
</div>
ng-show指令是根據value的值來顯示(隱藏)HTML元素。
你可以使用表達式來計算布爾值(true或false):
實例:
<div ng-app="">
<p ng-show="hour > 12">我是可見的</p>
</div>
ng-hide指令
ng-hide指令用於隱藏或者顯示HTML 元素。
實例
<div ng-app="">
<p ng-hide="true">我是不可見的</p>
<p ng-hide="false">我是可見的</p>
</div>
AngularJS 事件
AngularJS 有自己的HTML 事件指令
ng-click 指令
ng-click 指令定義了AngularJS 點擊事件
實例:
<div ng-app="" ng-controller="myCtrl">
<button ng-click="count = count +1">點我!</button>
<p>{{ count }}</p>
</div>
隱藏HTML元素
ng-hide 指令用於設計應用部分是否可見
ng-hide="true"設置HTML元素不可見,
ng-hide="false"設置HTML 元素不可見。
實例:
<div ng-app="myApp" ng-controller="personCtrl">
<button ng-click="toggle()">>隱藏/ 顯示</button>
<p ng-hide="myVar">
名:<input type="text" ng-model="firstName">
姓名:<input type="text" ng-model="lastName">
Full Name:{{firstName + ""+lastName}}
</p>
</div>
<script>
var app = angular.module('myApp',[]);
app.controller('personCtrl',function($scope){
$scope.firstName = "John",
$scope.lastName="Doe"
$.scope.myVar = false;
$scope.toggle = function(){
$scope.myVar = !$scope.myVar;
}
})
</script>
應用解析:
第一部分 personController與控制器章節類似。
應用有一個預設屬性:$scope.myVar = false;
ng-hide指令設置<p>元素及兩個輸入域是否可見,根據myVar的值(true 或false)來設置是否可見
toggle()函數用於切換myVar 變數的值(true 和false)
ng-hide="true"讓元素不可見。
顯示HTML元素
ng-show 指令可用於設置應用中心的一部分是否可見。
ng-show="false" 可以設置HTML 元素 不可見。
ng-show=“true”可以設置HTML元素可見。
實例:
<div ng-app="myApp" ng-controller="personCtrl">
<button ng-click = "toggle()">隱藏/顯示</button>
<p ng-show ="myVar">
名:<input type="text" ng-model="firstName">
姓:<input type="text" ng-model="lastName">
姓名:{{firstName +""+ lastName}}
</p>
</div>
<script>
var app = angular.module('myApp',[]);
app.controller('personCtrl',function($scope){
$scope.firstName = "John",
$scope.lastName = "Doe"
$scope.myVar = true;
$scope.toggle = function(){
$scope.myVar = !$scope.myVar;
}
})
</script>
AngularJS 模塊
模塊定義了一個應用程式。
模塊是應用程式中不同部分的容器。
模塊是應用控制器的容器。
控制器通常屬於一個模塊。
創建模塊
<div ng-app="myApp">...</div>
<script>
var app = angular.module("myApp",[]);
</script>
“myApp”參數對應執行應用的HTML元素。
現在你可以在AngularJS 應用中添加控制器,指令,過濾器等。
添加控制器
你可以使用ng-controller 指令來添加應用的控制器。
實例:
<div ng-app="myApp" ng-controller="myCtrl">
{{firstName + "" +lastName}}
</div>
<script>
var app= angular.module("myApp",[]);
app.controller("myCtrl",function($scope){
$scope.firstName = "John";
$scope.lastName = "Doe";
})
</script>
添加指令
AngularJS 提供了很多內置的命令,你可以使用它們來為你的應用添加功能。
實例:
<div ng-app="myApp" runoob-directive></div>
<script>
var app = angular.module("myApp",[]);
app.directive("runoobDirective",function(){
return{
template:"我在指令構造器中創建!"
};
})
</script>
模塊和控制器包含在JS 文件中
通常AngularJS 應用程式將模塊和控制器包含在JavaScript文檔中
<!DOCTYPE html>
<html>
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script src="myApp.js"></script>
<script src="myCtrl.js"></script>
</body>
</html>
myApp.js
var app = angular.module("myApp",[]);
在模塊定義中[] 參數用於定義模塊的依賴關係。
中括弧[] 表示該模塊沒有依賴,如果有依賴的話會在中括弧寫上依賴的模塊名。
myCtrl.js
app.controller("myCtrl",function($scope){
$scope.firstName = "John";
$scope.lastName ="Doe";
})
函數會影響到全局命名空間
JavaScript 中應避免使用全局函數。因為他們很容易被其他腳本文件覆蓋。
AngularJS 模塊讓所有的函數的作用域在該模塊下,避免了該問題。
什麼時候載入庫?
在我們的實例中,所有的AngularJS 庫都在HTML 文檔的頭部載入。
對於HTML應用程式,通常建議把所有的腳本都放置在<body>元素的最底部。
會提高網頁的載入速度,因為HTML載入不受制於腳本載入。
在我們的多個AngularJS 實例中您將看到AngularJS庫是在文檔的<head>區域被載入。
在我們的實例中,AngularJS在<head>元素中被載入,因為對angular.module的調用只能在庫載入完後才能進行。
另一個解決方案在<body>元素中載入AngularJS 庫,但是必須放置在您的AngularJS腳本前面:
實例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
</script>
</body>
</html>