最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Angular2入門--架構總覽

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

大致介紹

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

核心模塊

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

他們之間的關系:

從圖中可以看出:

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

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

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

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

組件

Angular框架是基于組件設計,組件負責控制屏幕上的一小塊區(qū)域,例如網頁的導航欄就是一個組件

一個組件的代碼:

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>
})

指令

指令和模板的關系密切,指令可以與DOM進行靈活交互,可以改變樣式也可以修改DOM。一般的指令都作用在已有的DOM元素上

1、修改DOM

<button *ngIf="canEdit">編輯</button>

當canEdit為true時,button會顯示,否則,button隱藏

2、改變元素樣式

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

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

服務

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

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

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

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

依賴注入

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

路由

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

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

相關文章

  • Angular實現的進度條功能示例

    Angular實現的進度條功能示例

    這篇文章主要介紹了Angular實現的進度條功能,結合實例形式較為詳細的分析了angular進度條功能的相關界面布局、功能等操作技巧,需要的朋友可以參考下
    2018-02-02
  • 基于AngularJS實現iOS8自帶的計算器

    基于AngularJS實現iOS8自帶的計算器

    這篇文章的主要內容是使用angularjs實現一個計算器,是一個仿iOS8風格的計算器,功能基本和iOS自帶的計算器是一致的。有需要的朋友們可以參考借鑒。
    2016-09-09
  • Angular 與 Component store實踐示例

    Angular 與 Component store實踐示例

    這篇文章主要為大家介紹了Angular 與 Component store實踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • AngularJS仿蘋果滑屏刪除控件

    AngularJS仿蘋果滑屏刪除控件

    前端開發(fā)中,為了對列表項進行快捷操作,有時就添個按鈕來簡單實現。但是,有時會發(fā)現按鈕影響美觀,甚至影響列表行的布局。稍在網上搜索無果,而寫此仿蘋果滑屏刪除控件
    2016-01-01
  • AngularJs 終極購物車(實例講解)

    AngularJs 終極購物車(實例講解)

    下面小編就為大家?guī)硪黄狝ngularJs 終極購物車的實例講解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • angular使用TweenMax動畫庫的問題和解決方法

    angular使用TweenMax動畫庫的問題和解決方法

    這篇文章主要給大家介紹了關于angular使用TweenMax的相關問題和解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • AngularJS使用angular.bootstrap完成模塊手動加載的方法分析

    AngularJS使用angular.bootstrap完成模塊手動加載的方法分析

    這篇文章主要介紹了AngularJS使用angular.bootstrap完成模塊手動加載的方法,結合實例形式分析了angular.bootstrap函數手動加載模塊的步驟與相關操作技巧,需要的朋友可以參考下
    2017-01-01
  • 詳解Angular6學習筆記之主從組件

    詳解Angular6學習筆記之主從組件

    這篇文章主要介紹了詳解Angular6學習筆記之主從組件,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • angularJs關于指令的一些冷門屬性詳解

    angularJs關于指令的一些冷門屬性詳解

    下面小編就為大家?guī)硪黄猘ngularJs關于指令的一些冷門屬性詳解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • Angular ng-repeat指令實例以及擴展部分

    Angular ng-repeat指令實例以及擴展部分

    這篇文章主要為大家詳細介紹了Angular ng-repeat指令實例以及擴展部分,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論

浦北县| 枝江市| 广宗县| 民县| 合川市| 普定县| 泰安市| 云龙县| 建始县| 石楼县| 林州市| 西峡县| 甘南县| 九龙坡区| 宝丰县| 葫芦岛市| 三门县| 永州市| 赫章县| 靖边县| 新源县| 奉化市| 张家港市| 普兰店市| 梁河县| 余江县| 永吉县| 望谟县| 炉霍县| 广东省| 亚东县| 彩票| 屏山县| 海安县| 固原市| 乐山市| 丹东市| 开原市| 贺州市| 同德县| 宜阳县|