国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Angular 常用概念

wind5o / 2802人閱讀

摘要:模塊與裝飾器設(shè)計(jì)目標(biāo)就是適應(yīng)大型應(yīng)用的開發(fā),模塊的概念就是來組織不同的組件及服務(wù)。

1.模塊與裝飾器

Angular設(shè)計(jì)目標(biāo)就是適應(yīng)大型應(yīng)用的開發(fā),模塊的概念就是來組織不同的組件及服務(wù)。一個(gè)大型應(yīng)用的最終形態(tài)就是各種不同的模塊的組合

import { NgModule }      from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { AppComponent }  from "./app.component";
import { HeroService } from "./hero.service";

//NgModule裝飾器將AppModule類標(biāo)記為Angular組件
@NgModule({ 
   //裝飾器就是一個(gè)函數(shù),作用是將元數(shù)據(jù)添加到緊跟在后面的類、類成員(屬性、方法)和函數(shù)參數(shù)
  imports:      [ BrowserModule ], //導(dǎo)入本模塊中所需要的其他非自定義的模塊
  providers:    [ HeroService ],  //服務(wù)模塊,并自動加入到全局的服務(wù)列表中
  declarations: [ AppComponent ], //聲明本模塊中的組件,指令和管道
  bootstrap:    [ AppComponent ]  //根組件,
})
export class AppModule { }  //導(dǎo)出的根模塊
2.組件、指令、管道

組件在Angular中處于中心地位,但也是指令的一種,我把組件看做是含有模板的指令,管道就是anuglarjs中的過濾器,具體有哪幾種,可以參考Anugular的官方API Angular內(nèi)置管道
自定義組件

import { Component } from "@angular/core";

@Component({ //@Component裝飾器將HeroDetailComponent類標(biāo)記為Angular組件
    //內(nèi)部的數(shù)據(jù)稱為元數(shù)據(jù),其它元數(shù)據(jù)裝飾器用類似的方式來指導(dǎo) Angular 的行為。 
    //例如@Injectable、@Input、@Output等
  selector: "hero-detail",
  templateUrl: "../somewhere.html",
  styleUrls: ["./any.css"]
})

export class HeroDetailComponent {
    //僅僅是一個(gè)類,看不到Anugular框架的影子
}

自定義指令

//指令有屬性型指令和結(jié)構(gòu)型指令 和組件
import { Directive, ElementRef, Input } from "@angular/core";

//ElementRef注入到構(gòu)造函數(shù)中,這樣指令才能訪問DOM
//Input 將數(shù)據(jù)傳入指令中
@Directive({ selector: "[appHighlight]" })
export class HighlightDirective {
    constructor(el: ElementRef) {
       el.nativeElement.style.backgroundColor = "yellow";
    }
}

自定義管道

The hero"s birthday is {{ birthday | date:"yyyy.MM.dd" }}

The current pipe {{ somevalue | paramStrength:"number" }}

import { Pipe, PipeTransform } from "@angular/core"; @Pipe({name: "paramStrength"}) export class ExponentialStrengthPipe implements PipeTransform { //implements是一種類實(shí)現(xiàn)某個(gè)接口的寫法,這樣就可以使用對應(yīng)接口里面的方法,如這里的transform transform(value: number, params: string): number { //value是輸入值,params是傳入的參數(shù) //value對應(yīng)上面的somevalue, params對應(yīng)上面的number let exp = parseFloat(exponent); return value + exp ; } }
3.服務(wù)

服務(wù)可以為對數(shù)據(jù)的獲取和各種處理,組件就是服務(wù)的消費(fèi)者,通過依賴注入在組件中使用服務(wù)

import { Injectable } from "@angular/core";
import { Logger } from "../logger.service";

@Injectable({})
export class HeroService {
  //服務(wù)里面注入其他的服務(wù),通過依賴注入,相當(dāng)于執(zhí)行了new的操作,又沒有副作用
  constructor(private logger: Logger){}
}
4.生命周期

就是被Anuglar管理的組件的生命周期鉤子,對應(yīng)的有鉤子里面的方法

import { OnInit, OnDestroy } from "@angular/core";

//OnInit接口里面的ngOnInit方法
export class PeekABoo implements OnInit, OnDestroy {
  constructor() { }

  // implement OnInit"s `ngOnInit` method
  ngOnInit() { 
    console.log("組件初始化");
  }

  ngOnDestroy(){
    console.log("組件退出時(shí)實(shí)現(xiàn)的方法");
  }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/92822.html

相關(guān)文章

  • Angular 4 簡單入門筆記

    摘要:首先,我們需要在入口頁面的中配置根路徑然后創(chuàng)建一個(gè)路由模塊路由配置在主模塊中導(dǎo)入配置好的路由模塊而在頁面中需要一個(gè)容器去承載上面代碼中的定義了用戶點(diǎn)擊后的路由跳轉(zhuǎn),定義該路由激活時(shí)的樣式類。 剛實(shí)習(xí)的時(shí)候用過AngularJS,那時(shí)候真的是連原生JavaScript都不會寫,依樣畫葫蘆做了幾個(gè)管理后臺。然后突然換項(xiàng)目了,AngularJS就不寫了,感覺前前后后接觸了一年多的Angula...

    whlong 評論0 收藏0
  • 前端每周清單半年盤點(diǎn)之 Angular

    摘要:延伸閱讀學(xué)習(xí)與實(shí)踐資料索引與前端工程化實(shí)踐前端每周清單半年盤點(diǎn)之篇前端每周清單半年盤點(diǎn)之與篇前端每周清單半年盤點(diǎn)之篇 前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡迎關(guān)注【前端之巔】微信公眾號(ID:frontshow),及時(shí)獲取前端每周清單;本文則是對于半年來發(fā)布的前端每周清單...

    LeviDing 評論0 收藏0
  • Angular單元測試系列-如何使用Jasmine進(jìn)行Angular單元測試

    摘要:四結(jié)論本章幾乎所有的內(nèi)容在單元測試經(jīng)常使用到的東西特別是異步部分,三種不同異步方式并非共存的,而是需要根據(jù)具體業(yè)務(wù)而采用。否則,你會發(fā)現(xiàn)真難寫單元測試。自此,我們算是為寫單元測試打下了基礎(chǔ)。 以下是我假定那些極少或壓根沒寫單元測試的人準(zhǔn)備的,因此,會白話解釋諸多概念性問題,同時(shí)會結(jié)合 Jasmine 與之對應(yīng)的方法進(jìn)行講解。 一、概念 Test Suite 測試套件,哪怕一個(gè)簡單的類,...

    zeyu 評論0 收藏0
  • [譯] 前端攻略-從路人甲到英雄無敵二:JavaScript 與不斷演化的框架

    摘要:一般來說,聲明式編程關(guān)注于發(fā)生了啥,而命令式則同時(shí)關(guān)注與咋發(fā)生的。聲明式編程可以較好地解決這個(gè)問題,剛才提到的比較麻煩的元素選擇這個(gè)動作可以交托給框架或者庫區(qū)處理,這樣就能讓開發(fā)者專注于發(fā)生了啥,這里推薦一波與。 本文翻譯自FreeCodeCamp的from-zero-to-front-end-hero-part。 繼續(xù)譯者的廢話,這篇文章是前端攻略-從路人甲到英雄無敵的下半部分,在...

    roadtogeek 評論0 收藏0
  • Angularjs學(xué)習(xí)筆記指令

    摘要:自定義指令中有很多內(nèi)置指令,一般都是以開頭的比如等等。本文介紹的自定義指令的用法。該參數(shù)的意思是替換指令的內(nèi)容,更改上面的例子。將屬性綁定到父控制器的域中學(xué)習(xí)概念多指令中的參數(shù)中增加了的值和的點(diǎn)擊函數(shù)。 自定義指令 angularjs中有很多內(nèi)置指令,一般都是以ng開頭的;比如:ng-app,ng-click,ng-repeat等等。本文介紹angularjs的自定義指令的用法。 指令...

    LeexMuller 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<