已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
AngularJS自定義組件開發(fā),.,主要內容,第一部分:什么是AngularJs? 第二部分:五大特性 第三部分:簡單的例子 第四部分:模塊化 第五部分:指令 第六部分:AngularJS的優(yōu)勢與缺點,.,什么是AngularJS,AngularJS是協(xié)助搭建單頁面工程的開源前端框架。它通過MVC模式使得開發(fā)與測試變得更容易。 AngularJS試圖成為WEB應用中的一種端對端的解決方案。它將指導開發(fā)整個應用。 AngularJS于2009年發(fā)布第一個版本,由Google進行維護,壓縮版94k。,.,AngularJS五大特性,雙向數(shù)據(jù)綁定 -實現(xiàn)了把model與view完全綁定在一起,model變化,view也變化,反之亦然。MVC -吸收了傳統(tǒng)的MVC設計模式針但又并不執(zhí)行傳統(tǒng)意義上的MVC,更接近于MVVM(Moodel-View-ViewModel)。模板-在AngularJS中,模板相當于HTML文件被瀏覽器解析到DOM中,AngularJS遍歷這些DOM,也就是說AuguarJS把模板當做DOM來操作,去生成一些指令來完成對view的數(shù)據(jù)綁定。指令-可以用來創(chuàng)建自定義的標簽,也可以用來裝飾元素或者操作DOM屬性。依賴注入-AngularJS擁有內建的依賴注入子系統(tǒng),可以幫助開發(fā)人員更容易的開發(fā),理解和測試應用。,.,AngularJs的核心思想,UI視圖,數(shù)據(jù)模型,視圖、數(shù)據(jù)雙向更新,這個過程由AngularJs自動進行開發(fā)者無需關注,在AngularJS中通過數(shù)據(jù)視圖雙向綁定實現(xiàn)。,.,AngularJs的核心思想,遵循MVC模式開發(fā)。,.,如何使用,.,簡單的例子-編寫html, 按名字排序 按年齡排序 phone.snippet phone.age ,ng-app:AngularJS程序入口,對該標簽內的元素進行初始化。ng-controller:在當前元素范圍內綁定指定的控制器(controller)。ng-model:指定當前元素與數(shù)據(jù)模型($scope)中的屬性綁定,如果數(shù)據(jù)模型中沒有此屬性,會自動新建一個。ng-repeat:循環(huán)$scope中的屬性,類似于#each beansxxx:花括號表示讀取某一屬性值filter、orderBy:過濾器。filter可以根據(jù)指定的屬性過濾數(shù)據(jù)(例子里是quer屬性)。orderBy是排序過濾器。這兩個過濾器都是內置的。過濾器是可自定義的。,.,簡單的例子-編寫控制器,var PhoneListCtrl = $scope, $http, function($scope, $http) $http.get(./json/test-1.json) .success(function(data) $scope.phones = data; ); $scope.sortType = age; ;,PhoneListCtrl 控制器。控制器的聲明方式是 var c1=ser1,ser2,functionc1是控制器的名字,ser1、ser2是控制器所依賴的服務,以聲明的方式注入到控制器中。例子中注入了$scope(數(shù)據(jù)模型)、$http(封裝了ajax的服務)。這兩個服務都是angularjs內置服務,服務是可以自定義的。$scope.phones = data; 在這個地方后臺返回的數(shù)據(jù)應用到了數(shù)據(jù)模型中,這時前臺UI會自動響應更新。,.,模塊化, name | test var myAppModule = angular.module(myApp,); myAppModule.filter(test,function() return function(name) return hello, +name+!; ; ); myAppModule.controller(myAppCtrl,$scope,function($scope) $=xingoo; ); ,首先,通過全局變量angular創(chuàng)建模塊myAppModule 第一個參數(shù)是綁定的應用app名稱,這個app標識了頁面中angular的入口點,類似main函數(shù)的作用。第二個參數(shù)里面標識了依賴的模塊。模塊化作用: 1 增加了模塊的可重用性2 通過定義模塊,實現(xiàn)加載順序的自定義3 在單元測試中,不必加載所有的內容,.,var PhoneListCtrl = $scope, $http, function($scope, $http) $http.get(./json/test-1.json) .success(function(data) $scope.phones = data; ); $scope.sortType = age; ;,PhoneListCtrl 控制器??刂破鞯穆暶鞣绞绞?var c1=ser1,ser2,functionc1是控制器的名字,ser1、ser2是控制器所依賴的服務,以聲明的方式注入到控制器中。例子中注入了$scope(數(shù)據(jù)模型)、$http(封裝了ajax的服務)。這兩個服務都是angularjs內置服務,服務是可以自定義的。$scope.phones = data; 在這個地方后臺返回的數(shù)據(jù)應用到了數(shù)據(jù)模型中,這時前臺UI會自動響應更新。,.,AngularJS 指令,AngularJS有一套完整的、可擴展的、用來幫助web應用開發(fā)的指令集,它使得HTML可以轉變成“特定領域語言(Domain Specific Language,簡稱DSL)”,是用來擴展瀏覽器能力的技術之一,在DOM編譯期間,和HTML關聯(lián)著的指令會被檢測到,并且被執(zhí)行,這使得指令可以為DOM指定行為,或者改變它。AngularJS通過稱為指令的新屬性來擴展的HTML,帶有前綴ng-,我們也可以稱之為“指令屬性”,它就是綁定在DOM元素上的函數(shù),可以調用方法、定義行為、綁定controller及$scope對象、操作DOM,等等。,例如:ng-app ng-controller ng-src xxx ng-repeat ng-model 等,.,AngularJS 指令,myAppModule.directive(xingoo,function() return restrict:AECM, template:hello my directive, repalce:true );,一般指令的寫法:,1 restrict:定義了標簽的使用方法,一共四種,分別是AECM2 template:定義標簽的模板。里面是用于替換自定義標簽的字符串3 repalce:是否支持替換4 transclude:是否支持內嵌,.,如何使用指令,A attribute屬性:當做屬性來使用 eg: E element元素:當做標簽元素來使用 eg: C class類:當做CSS樣式來使用 eg: M comments注釋:當做注釋使用(這種方式在1.2版本下親測不可用?。?eg: 注:一般來說推薦,當做屬性和元素來使用。當想要在現(xiàn)有的html標簽上擴展屬性時,采用屬性的方式。當想要自定義標簽時,采用標簽的形式。想要使用那種方式,必須要在定義directive中的restrict里 面 聲明對應的字母。,.,指令內嵌使用,使用transclude屬性,設置為true。 并使用ng-transclude屬性,定義內部嵌套的位置。transclude的作用可以簡化地理解成:把標簽替換成我們所編寫的HTML模板,但是標簽內部的內容保持不變。,.,如何使用指令,link,添加相應事件,方法中有三個參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《預備知識》高考模擬
- 2026年工業(yè)水處理公司水質責任落實管理細則
- 2026年工業(yè)水處理公司辦公自動化系統(tǒng)與水處理審批協(xié)同管理細則
- 河南省洛陽市理工學院附中2025-2026學年高三下5月階段性檢測試題化學試題含解析
- 遼寧省葫蘆島市第一中學2026屆高三下期末考試(化學試題理)試卷含解析
- 湖北省部分重點中學2025-2026學年高三生物試題二模沖刺試題(八)含解析
- 湖南省箴言中學2025-2026學年高三5月第一次單元測試-生物試題試卷含解析
- 湖南省A佳經典聯(lián)考試題2026屆高三下-期末教學質量監(jiān)測生物試題試卷含解析
- 裁員合同終止模板(3篇)
- 吉安市重點中學2026屆高三下第二次檢測試題生物試題含解析
- (2026年春新版本)人教版二年級數(shù)學下冊全冊教案
- DB15-T 4265-2026 零碳產業(yè)園配套新能源規(guī)劃編制規(guī)范
- 2025年度康復科護理質控工作總結與2026年規(guī)劃
- 2026年保育員初級考試試題及答案
- 2025至2030電阻式隨機存取存儲器行業(yè)調研及市場前景預測評估報告
- 新人培訓主播課件
- 2026年蘇州工業(yè)園區(qū)服務外包職業(yè)學院單招職業(yè)技能考試備考試題附答案詳解
- 鋁合金門窗安裝打膠方案
- 貴州省貴陽市2024-2025學年高一上學期期末監(jiān)測物理試卷(含解析)
- 管路開挖施工方案(3篇)
- 獸藥行業(yè)獸藥研發(fā)工程師崗位招聘考試試卷及答案
評論
0/150
提交評論