這篇文章給大家分享的是有關(guān)Angular2架構(gòu)的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
核心模塊
一個(gè)完整的Angular應(yīng)用主要由六個(gè)重要部分組成:組件、模板、指令、服務(wù)、依賴注入和路由
他們之間的關(guān)系:
從圖中可以看出:
1、與用戶交互的是模板視圖,模板和組件類共同組成組件
2、路由是控制組件的創(chuàng)建和銷毀,從而驅(qū)使界面切換
3、指令和模板相關(guān)聯(lián),擴(kuò)展了模板的語法
4、服務(wù)是封裝若干個(gè)功能邏輯的單元,通過依賴注入引入組件內(nèi)部
組件
Angular框架是基于組件設(shè)計(jì),組件負(fù)責(zé)控制屏幕上的一小塊區(qū)域,例如網(wǎng)頁的導(dǎo)航欄就是一個(gè)組件
一個(gè)組件的代碼:
import { Component, Input } from '@angular/core'; import { Hero } from './hero'; @Component({ selector: 'my-hero-detail', template: ` <div *ngIf="hero"> <h3>{{hero.name}} details!</h3> <div><label>id: </label>{{hero.id}}</div> <div> <label>name: </label> <input [(ngModel)]="hero.name" placeholder="name"/> </div> </div> }) export class HeroDetailComponent { @Input() hero: Hero; }
模板
我們通過組件的自帶的模板來定義組件視圖。模板以 HTML 形式存在,告訴 Angular 如何渲染組件。
例如上面組件中的@Component中就是模板
@Component({ selector: 'my-hero-detail', template: ` <div *ngIf="hero"> <h3>{{hero.name}} details!</h3> <div><label>id: </label>{{hero.id}}</div> <div> <label>name: </label> <input [(ngModel)]="hero.name" placeholder="name"/> </div> </div> })
指令
指令和模板的關(guān)系密切,指令可以與DOM進(jìn)行靈活交互,可以改變樣式也可以修改DOM。一般的指令都作用在已有的DOM元素上
1、修改DOM
<button *ngIf="canEdit">編輯</button>
當(dāng)canEdit為true時(shí),button會(huì)顯示,否則,button隱藏
2、改變?cè)貥邮?/p>
<button [ngStyle]="setStyles()">編輯</button>
setStyles()是一個(gè)函數(shù),可以通過這個(gè)函數(shù)修改元素的樣式
服務(wù)
服務(wù)是封裝單一功能的單元,常被引用于組件內(nèi)部,作為組件的功能擴(kuò)展。它可以是一個(gè)簡單的字符串或是JSON數(shù)據(jù),也可以是一個(gè)函數(shù)甚至是一個(gè)類
組件本身不從服務(wù)器獲得數(shù)據(jù)、不進(jìn)行驗(yàn)證輸入,也不直接往控制臺(tái)寫日志。 它們把這些任務(wù)委托給服務(wù)。
一個(gè)簡單的服務(wù)(包含一個(gè)類):
export class Hero { id: number; name: string; }
依賴注入
通過依賴注入機(jī)制,服務(wù)等模塊可以被引入到任何一個(gè)組件中,而開發(fā)者無需關(guān)心這些模塊是如何被初始化的。因?yàn)锳ngular已經(jīng)幫你處理好了,包括本模塊本身依賴的其他模塊也會(huì)被初始化
路由
路由它把瀏覽器中的URL看做一個(gè)操作指南, 據(jù)此導(dǎo)航到一個(gè)由客戶端生成的視圖,并可以把參數(shù)傳給支撐視圖的相應(yīng)組件,幫它決定具體該展現(xiàn)哪些內(nèi)容。 我們可以為頁面中的鏈接綁定一個(gè)路由,這樣,當(dāng)用戶點(diǎn)擊鏈接時(shí),就會(huì)導(dǎo)航到應(yīng)用中相應(yīng)的視圖。 當(dāng)用戶點(diǎn)擊按鈕、從下拉框中選取,或響應(yīng)來自任何地方的事件時(shí),我們也可以在代碼控制下進(jìn)行導(dǎo)航。 路由器還在瀏覽器的歷史日志中記錄下這些活動(dòng),這樣瀏覽器的前進(jìn)和后退按鈕也能照常工作。
感謝各位的閱讀!關(guān)于“Angular2架構(gòu)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.rwnh.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前文章:Angular2架構(gòu)的示例分析-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.rwnh.cn/article4/pdgoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、企業(yè)建站、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容