欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Angular2入門--架構(gòu)總覽

 更新時間:2017年03月29日 08:44:38   作者:老板丶魚丸粗面  
本文主要介紹了Angular2的架構(gòu)的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧

大致介紹

在3月23日,Angular4正式發(fā)布(沒有3)。似乎現(xiàn)在學(xué)Angular2又晚了,又晚一步-_-||。Angular2在Angular1的基礎(chǔ)上有了較大的改變。之前向一個同學(xué)(之前學(xué)過Angular1)問一個Angular2的問題,他反問到這是Angular代碼? 可見Angular1->Angular2的變化有多大。先來看看Angular2的架構(gòu)

核心模塊

一個完整的Angular應(yīng)用主要由六個重要部分組成:組件、模板、指令、服務(wù)、依賴注入和路由

他們之間的關(guān)系:

從圖中可以看出:

1、與用戶交互的是模板視圖,模板和組件類共同組成組件

2、路由是控制組件的創(chuàng)建和銷毀,從而驅(qū)使界面切換

3、指令和模板相關(guān)聯(lián),擴展了模板的語法

4、服務(wù)是封裝若干個功能邏輯的單元,通過依賴注入引入組件內(nèi)部

組件

Angular框架是基于組件設(shè)計,組件負(fù)責(zé)控制屏幕上的一小塊區(qū)域,例如網(wǎng)頁的導(dǎo)航欄就是一個組件

一個組件的代碼:

import { Component, Input } from '@angular/core';
import { Hero } from './hero';
@Component({
 selector: 'my-hero-detail',
 template: `
 <div *ngIf="hero">
  <h2>{{hero.name}} details!</h2>
  <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">
  <h2>{{hero.name}} details!</h2>
  <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時,button會顯示,否則,button隱藏

2、改變元素樣式

<button [ngStyle]="setStyles()">編輯</button>

setStyles()是一個函數(shù),可以通過這個函數(shù)修改元素的樣式

服務(wù)

服務(wù)是封裝單一功能的單元,常被引用于組件內(nèi)部,作為組件的功能擴展。它可以是一個簡單的字符串或是JSON數(shù)據(jù),也可以是一個函數(shù)甚至是一個類

組件本身不從服務(wù)器獲得數(shù)據(jù)、不進(jìn)行驗證輸入,也不直接往控制臺寫日志。 它們把這些任務(wù)委托給服務(wù)。

一個簡單的服務(wù)(包含一個類):

export class Hero {
 id: number;
 name: string;
}

依賴注入

通過依賴注入機制,服務(wù)等模塊可以被引入到任何一個組件中,而開發(fā)者無需關(guān)心這些模塊是如何被初始化的。因為Angular已經(jīng)幫你處理好了,包括本模塊本身依賴的其他模塊也會被初始化

路由

路由它把瀏覽器中的URL看做一個操作指南, 據(jù)此導(dǎo)航到一個由客戶端生成的視圖,并可以把參數(shù)傳給支撐視圖的相應(yīng)組件,幫它決定具體該展現(xiàn)哪些內(nèi)容。 我們可以為頁面中的鏈接綁定一個路由,這樣,當(dāng)用戶點擊鏈接時,就會導(dǎo)航到應(yīng)用中相應(yīng)的視圖。 當(dāng)用戶點擊按鈕、從下拉框中選取,或響應(yīng)來自任何地方的事件時,我們也可以在代碼控制下進(jìn)行導(dǎo)航。 路由器還在瀏覽器的歷史日志中記錄下這些活動,這樣瀏覽器的前進(jìn)和后退按鈕也能照常工作。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • 詳解Webstorm 下的Angular2.0開發(fā)之路(圖文)

    詳解Webstorm 下的Angular2.0開發(fā)之路(圖文)

    這篇文章主要介紹了詳解Webstorm 下的Angular2.0開發(fā)之路(圖文) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • AngularJs基于角色的前端訪問控制的實現(xiàn)

    AngularJs基于角色的前端訪問控制的實現(xiàn)

    本篇文章主要介紹了AngularJs實現(xiàn)基于角色的前端訪問控制,可以適用于不同的角色,有需要的可以了解一下。
    2016-11-11
  • 使用Angular-CLI構(gòu)建NPM包的方法

    使用Angular-CLI構(gòu)建NPM包的方法

    這篇文章主要介紹了使用Angular-CLI構(gòu)建NPM包的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • AngularJS select加載數(shù)據(jù)選中默認(rèn)值的方法

    AngularJS select加載數(shù)據(jù)選中默認(rèn)值的方法

    下面小編就為大家分享一篇AngularJS select加載數(shù)據(jù)選中默認(rèn)值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • AngularJS入門教程之路由與多視圖詳解

    AngularJS入門教程之路由與多視圖詳解

    本文主要介紹AngularJS 路由與多視圖詳解,這里整理了相關(guān)資料及示例代碼,詳細(xì)說明了在開發(fā)過程中如何應(yīng)用,有興趣的朋友可以看下
    2016-08-08
  • 利用Angular.js編寫公共提示模塊的方法教程

    利用Angular.js編寫公共提示模塊的方法教程

    最近工作中會經(jīng)常遇到一些公用提示,使用框架自帶很多時候不方便所以便自己編寫了一個公共提示模塊,下面這篇文章主要介紹了利用Angular.js編寫公共提示模塊的方法教程,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • AngularJS讀取JSON及XML文件的方法示例

    AngularJS讀取JSON及XML文件的方法示例

    這篇文章主要介紹了AngularJS讀取JSON及XML文件的方法,涉及AngularJS針對xml及json格式文件數(shù)據(jù)的讀取、遍歷、輸出等相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • 關(guān)于Angular2 + node接口調(diào)試的解決方案

    關(guān)于Angular2 + node接口調(diào)試的解決方案

    這篇文章主要給大家介紹了關(guān)于Angular2 + node接口調(diào)試的解決方案,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • 詳解AngularJS中的filter過濾器用法

    詳解AngularJS中的filter過濾器用法

    這篇文章主要介紹了AngularJS中的filter過濾器用法,包括其在模版中和在controller以及service的常見應(yīng)用場合,需要的朋友可以參考下
    2016-01-01
  • 如何使用angularJs

    如何使用angularJs

    本篇文章主要介紹了一些AngularJs常用的一些屬性和方法,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-05-05

最新評論