什么是Angularjs

AngularJS 最初由 Misko Hevery 和 Adam Abrons 于 2009 年開發,后來成為了
Google 公司的項目。 AngularJS 彌補了 HTML 在構建應用方面的不足, 其通過使用標識
符( directives)結構,來擴展 Web 應用中的 HTML 詞匯,使開發者可以使用 HTML 來聲
明動態內容,從而使得 Web 開發和測試工作變得更加容易。
Misko Hevery
Angularjs版本簡介
https://github.com/angular/angular.js/releases/
AngularJS功能:
AngularJS 是專門為應用程序設計的 HTML。
AngularJS 使得開發現代的單一頁面應用程序( SPAs: Single Page Applications)變得更加容易。
1 AngularJS 把應用程序數據綁定到 HTML 元素。
2 AngularJS 可以克隆和重復 HTML 元素。
3 AngularJS 可以隱藏和顯示 HTML 元素。
4 AngularJS 可以在 HTML 元素"背后"添加代碼。
5 AngularJS 支持輸入驗證
Angularjs號稱 下一代 web應用 主要特性如下:
1.MVC
2.模塊化與依賴注入
3.雙向數據綁定
4.指令與 UI 控件

成都創新互聯-專業網站定制、快速模板網站建設、高性價比景泰網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式景泰網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋景泰地區。費用合理售后完善,10余年實體公司更值得信賴。


Angularjs資源:
http://Angularjs.org 官方網站正常打不開 但是打不開 大家都懂的
http://www.angularjs.cn/
http://docs.angularjs.cn/api
http://www.ngnice.com/
https://github.com/angular
Angularjs下載:
http://www.bootcdn.cn/angular.js/
通過 nodejs下載: npm install angular


為了使用 Angular,所有應用都必須首先做兩件事情

1. 下載加載 angular.js 庫
2.使用 ng-app 指令告訴 angular 應該管理 DOM 中的哪一些部分

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<script type="text/javascript" src="angular-1.3.0.js"></script>
</head>
<body>
<div ng-app="">
<p>在輸入框中嘗試輸入: </p>
<p>姓名: <input type="text" ng-model="name"></p>
<p ng-bind="name"></p>
</div>
</body>
</html>


Angularjs中常用名詞 也就是所說的常用指令
HTML5 允許擴展的(自制的)屬性,以 data-開頭。
AngularJS 屬性以 ng-開頭,但是您可以使用 data-ng-來讓網頁對 HTML5 有效
俗話說 下面的指令可以在開頭加上 data- 例如 ng_app 等同于 data_ng_app

什么是 Angularjs

什么是 Angularjs


1. ng_app ng_bind ng_model {{}}案例演示
ng_app
ng-app指令定義了 AngularJS 應用程序的 根元素。
ng-app 指令在網頁加載完畢時會自動引導(自動初始化)應用程序。
稍后您將學習到 ng-app 如何通過一個值(比如 ng-app="myModule")連接到代碼模塊。
ng-model指令:
ng-model 指令 綁定 HTML 元素 到應用程序數據。
ng-model 指令也可以:
為應用程序數據提供類型驗證( number、 email、 required)。
為應用程序數據提供狀態( invalid、 dirty、 touched、 error)。
為 HTML 元素提供 CSS 類。
綁定 HTML 元素到 HTML 表單。
ng_bind指令 等同于{{}}
綁定 HTML 元素到應用程序數據.


示例 1
<!DOCTYPE html>
<html>
<body>
<div ng-app="">
<p>在輸入框中嘗試輸入: </p>
<p>姓名: <input type="text" ng-model="name"></p>
<p ng-bind="name"></p>
</div>
<script src="angular.min.js"></script>
</body>
</html>

示例 2{{}}等同于 ng_bind
<!DOCTYPE html>
<html>
<body>
<div ng-app="">
<p>在輸入框中嘗試輸入: </p>
<p>姓名: <input type="text" ng-model="name"></p>
<p>{{name}}</p>
</div>
<script src="angular.min.js"></script>
</body>
</html>
實例講解:
當網頁加載完畢, AngularJS 自動開啟。
ng-app指令告訴 AngularJS, <div> 元素是 AngularJS 應用程序 的"所有者"。
ng-model指令把輸入域的值綁定到應用程序變量 name
ng-bind指令把應用程序變量 name 綁定到某個段落的 innerHTML。
2. ng_init
ng-init指令
ng-init 指令為 AngularJS 應用程序定義了 初始值。
通常情況下,不使用 ng-init。您將使用一個控制器或模塊來代替它。
稍后您將學習更多有關控制器和模塊的知識。
<div ng-app="" ng-init="firstName='John'">
<p>姓名為 <span ng-bind="firstName"></span></p>
</div>

3.data-指令 data-ng-init 與 ng-init 等價
<div data-ng-app="" data-ng-init="firstName='John'">
<p>姓名為 <span data-ng-bind="firstName"></span></p>
</div>
6. Angularjs表達式
AngularJS 表達式寫在雙大括號內: ` expression `
AngularJS 表達式把數據綁定到 HTML,這與 ng-bind指令有異曲同工之妙。
AngularJS 將在表達式書寫的位置"輸出"數據。
AngularJS表達式 很像 JavaScript表達式:它們可以包含文字、運算符和變量。
實例 {{ 5 + 5 }} 或 {{ firstName + " " + lastName }}
<!DOCTYPE html>
<html>
<body>
<div ng-app="">
<p>我的第一個表達式: {{ 5 + 5 }}</p>
</div>
<script src="angular.min.js"></script>
</body>
</html>

AngularJS數字
<div ng-app="" ng-init="quantity=1;cost=5">
<p>總價: {{ quantity * cost }}</p>
</div>
AngularJS字符串
<div ng-app="" ng-init="firstName='John';lastName='Doe'">
<p>姓名: {{ firstName + " " + lastName }}</p>
</div>
AngularJS對象
<div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
<p>姓為 ` person`.`lastName `</p>
</div>

AngularJS數組
<div ng-app="" ng-init="points=[1,15,19,2,40]">
<p>第三個值為 {{ points[2] }}</p>
</div>
7. Angularjs控制器
AngularJS 控制器 控制 AngularJS 應用程序的數據。
AngularJS 控制器是常規的 JavaScript 對象。
AngularJS 應用程序被控制器控制。
ng-controller 指令定義了應用程序控制器。
控制器是 JavaScript 對象,由標準的 JavaScript 對象的構造函數 創建。
控制器的 $scope 是控制器所指向的應用程序 HTML 元素。
angular 中$scope 是連接 controllers(控制器)和 templates(模板 view/視圖)的主要膠合體。
我們可以把我們的 model 存放在 scope 上,來達到雙向你綁定。
<!DOCTYPE html>
<html>
<body>
<div ng-app="">
<div ng-controller="personController">
名: <input type="text" ng-model="person.firstName"><br>
姓: <input type="text" ng-model="person.lastName"><br>
<br>
姓名: {{person.firstName + " " + person.lastName}}
</div>
</div>
<script>
function personController($scope) { //不建議這樣寫
$scope.person = {
firstName: "John",
lastName: "Doe"
};
}
</script>
<script src="angular.min.js"></script>
</body>
</html>
實例講解:
AngularJS 應用程序由 ng-app定義。應用程序在 <div> 內運行。
ng-controller指令把控制器命名為 object
函數 personController是一個標準的 JavaScript 對象的構造函數。
控制器對象有一個屬性: $scope.person
person 對象有兩個屬性: firstNamelastName
ng-model指令綁定輸入域到控制器的屬性( firstName 和 lastName)。
<!DOCTYPE html>
<html>
<body>
<div ng-app="" ng-controller="personController">
名: <input type="text" ng-model="person.firstName"><br>
姓: <input type="text" ng-model="person.lastName"><br>
<br>
姓名: {{person.fullName()}}
</div>
<script>
function personController($scope) {
$scope.person = {
firstName: "John",
lastName: "Doe",
fullName: function() {
var x = $scope.person;
return x.firstName + " " + x.lastName;
}
};
}
</script>

<script src="angular.min.js"></script>
</body>
</html>
ng-repeat指令結合 ng-controller
<div ng-app="" ng-controller="namesController">
<ul>
<li ng-repeat="x in names">
{{ x.name + ', ' + x.country }}
</li>
</ul>
</div>
<script src="namesController.js"></script>
<script>
function namesController($scope) {
$scope.names = [
{name:'Jani',country:'Norway'},
{name:'Hege',country:'Sweden'},
{name:'Kai',country:'Denmark'}
];
}
</script>

8. Angularjs $http請求數據
1. get請求
<div ng-app="" ng-controller="customersController">
<ul>
<li ng-repeat="x in names">
{{ x.Name + ', ' + x.Country }}
</li>
</ul>
</div>
<script>
function customersController($scope,$http) {
$http.get("http://www.w3cschool.cc/try/angularjs/data/Customers_JSON.php")
.success(function(response) {$scope.names = response;});
}
</script>
$http get實例 1
$http.get("http://www.w3cschool.cc/try/angularjs/data/Customers_JSON.php").success(function
(response) {$scope.names = response;});
$http get實例 2
$http.get(url,{params:{id:'5'}}) .success(function(response) {
$scope.names = response;
}).error(function(data){
//錯誤代碼
});
$http post實例:
var postData={text:'這是 post 的內容'};
var config={params:{id:'5'}}
$http.post(url,postData,config) .success(function(response) {
$scope.names = response;
}).error(function(data){
//錯誤代碼
});
$http Jsonp實例:
myUrl =
"http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1&callback=JSON_
CALLBACK";
$http.jsonp(myUrl).success(
function(data){
$scope.portalcate = data.result;
}
).error(function(){
alert('shibai');
});
9. Angularjs過濾器
AngularJS過濾器
AngularJS 過濾器可用于轉換數據:
過濾器 描述
currency 格式化數字為貨幣格式。
filter 從數組項中選擇一個子集。
lowercase 格式化字符串為小寫。
orderBy 根據某個表達式排列數組。
uppercase 格式化字符串為大寫。
向表達式添加過濾器
過濾器可以通過一個管道字符( |)和一個過濾器添加到表達式中。
(下面的兩個實例,我們將使用前面章節中提到的 person 控制器)
uppercase過濾器格式化字符串為大寫:
<div ng-app="" ng-controller="personController">
<p>姓名為 {{ person.lastName | uppercase }}</p>
</div>
lowercase過濾器格式化字符串為小寫:
<div ng-app="" ng-controller="personController"">
<p>姓名為 {{ person.lastName | lowercase }}</p>
</div>
currency過濾器
currency過濾器格式化數字為貨幣格式:
<div ng-app="" ng-controller="costController">
數量: <input type="number" ng-model="quantity">
價格: <input type="number" ng-model="price">
<p>總價 = {{ (quantity * price) | currency }}</p>
</div>
向指令添加過濾器
過濾器可以通過一個管道字符( |)和一個過濾器添加到指令中。
orderBy 過濾器根據某個表達式排列數組:
<div ng-app="" ng-controller="namesController">
<p>循環對象: </p>
<ul>
<li ng-repeat="x in names | orderBy:'country'">
{{ x.name + ', ' + x.country }}
</li>
</ul>
<div>
過濾輸入
輸入過濾器可以通過一個管道字符( |)和一個過濾器添加到指令中,該過濾器后跟一個冒
號和一個模型名稱。
filter 過濾器從數組中選擇一個子集:
<div ng-app="" ng-controller="namesController">
<p>輸入過濾: </p>
<p><input type="text" ng-model="name"></p>
<ul>
<li ng-repeat="x in names | filter:name | orderBy:'country'">
{{ (x.name | uppercase) + ', ' + x.country }}
</li>
</ul>
</div>
10.Angularjs模塊
1.為什么要使用模塊
控制器污染了全局命名空間
http://baike.baidu.com/view/4174721.htm
本教程中,截至目前為止的所有實例都使用了全局函數。
在所有的應用程序中,都應該盡量避免使用全局變量和全局函數。
全局值(變量或函數)可被其他腳本重寫或破壞。
為了解決這個問題, AngularJS 使用了模塊。
2.普通的控制器 和 AngularJS模塊
AngularJS普通的控制器
<!DOCTYPE html>
<html>
<body>
<div ng-app="" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script>
function myCtrl($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
}
</script>
<script src="angular.min.js"></script>
</body>
</html>
使用一個由 模塊 替代的控制器:
<!DOCTYPE html>
<html>
<head>
<script src="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>
3.AngularJS應用程序文件
現在您已經知道模塊是什么以及它們是如何工作的,現在您可以嘗試創建您自己的應用程序文件。
您的應用程序至少應該有一個模塊文件,一個控制器文件。
首先,創建模塊文件 "myApp.js":
var app = angular.module("myApp", []);
然后,創建控制器文件。本實例中是 "myCtrl.js":
app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
最后,編輯 HTML 引入模塊:
<!DOCTYPE html>
<html>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script src="angular.min.js"></script>
<script src="myApp.js"></script>
<script src="myCtrl.js"></script>
</body>
</html>


什么是 Angularjs


當前文章:什么是Angularjs
當前URL:http://m.kartarina.com/article22/pipijc.html

成都網站建設公司_創新互聯,為您提供品牌網站制作企業建站品牌網站建設全網營銷推廣小程序開發外貿網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計
主站蜘蛛池模板: 无码国产69精品久久久久孕妇| 无码无遮挡又大又爽又黄的视频| 中文字幕av无码不卡| 国产综合无码一区二区辣椒| 国内精品无码一区二区三区| 亚洲av纯肉无码精品动漫| 丰满少妇人妻无码专区| 久久青草亚洲AV无码麻豆| 无码国模国产在线观看| 精品人妻系列无码一区二区三区| 五十路熟妇高熟无码视频| 无码福利写真片视频在线播放| 日韩AV高清无码| 亚洲AV无码专区在线厂| 久久精品中文无码资源站| 寂寞少妇做spa按摩无码| 亚洲va中文字幕无码| 亚洲爆乳无码专区www| 久久亚洲AV成人无码国产| 亚洲色无码专区在线观看| 国产久热精品无码激情| 久久亚洲日韩看片无码| 亚洲AV无码专区电影在线观看| 综合无码一区二区三区| 色欲AV无码一区二区三区 | 中文字幕日产无码| 国产精品多人p群无码| 精品无码三级在线观看视频| yy111111少妇影院无码| 永久免费av无码网站大全| 天堂Av无码Av一区二区三区| 亚洲Av永久无码精品黑人| 精品人妻大屁股白浆无码| 日韩人妻无码一区二区三区久久| 国产成年无码AV片在线韩国| 精品久久久无码中文字幕| 久久亚洲精品无码播放| 曰韩精品无码一区二区三区 | 亚洲午夜无码久久| 亚洲综合无码一区二区痴汉| 精品欧洲AV无码一区二区男男|