angular常用

ng build --prod --aot 打包
import * as xxx from ‘xxx’: 會(huì)將 若干export導(dǎo)出的內(nèi)容組合成一個(gè)對(duì)象返回;
import xxx from ‘xxx’:只會(huì)導(dǎo)出這個(gè)默認(rèn)的對(duì)象作為一個(gè)對(duì)象摇零,
TS 榄笙?可選參數(shù)

interface IFRequestParam {
    url: string;
    msg?: string;
    config?: any;
    data?: any;
}

angular中的pipe是用來(lái)對(duì)輸入的數(shù)據(jù)進(jìn)行處理许蓖,如大小寫(xiě)轉(zhuǎn)換令杈、數(shù)值和日期格式化等排霉。
使用 @Pipe 裝飾器定義 Pipe 的 metadata 信息缎玫,如 Pipe 的名稱(chēng) - 即 name
實(shí)現(xiàn) PipeTransform 接口中定義的 transform 方法

//父子通訊
父 子
@ViewChild('tagInput') 變量類(lèi)型為子組件類(lèi)颈走,可以使用子組件的方法等膳灶,同時(shí)觸發(fā)鉤子

<app-address-detail [address]="currentAddress"></app-address-detail>
ts代碼:
@Input() address: Address;
子 父 和vue emit一樣
@Output()屬性裝飾器來(lái)實(shí)現(xiàn)。 實(shí)現(xiàn)步驟:首先需要在子組件中定義事件(使用EventEmitter方法)立由,子組件的事件被觸發(fā)時(shí)引發(fā)父組件的事件響應(yīng)
// app.module.ts
@NgModule({
  ...
  providers: [MyService]
})
export class AppModule {}

//my-service.ts
import { Injectable } from '@angular/core';

@Injectable()
export class MyService {
  constructor() { }
}

//angular6+之后只要在service中申明  6之前需要在引用時(shí) providers: [MyService]
@Injectable({
  providedIn: 'root',
})

 @Inject(MyService )注入//組件調(diào)用時(shí)使用    @Injectable()可注入//service內(nèi)部  組件調(diào)用時(shí)要 @NgModule({providers: [MyService]})    @Injectable({providedIn: 'root',})  //service聲明 且調(diào)用時(shí)不要申明 

 
 @Optional()
 @Inject(MyService )
 @Optional 表示可有可無(wú), 如果沒(méi)有使用 Optional, 在沒(méi)有provider 而嘗試注入 service 的情況下, angular 是會(huì)報(bào)錯(cuò)的哦.//@Inject(MyService )注入時(shí)使用

HostListener - 聲明一個(gè)主機(jī)監(jiān)聽(tīng)器轧钓。當(dāng)主機(jī)元素發(fā)出指定的事件時(shí),角色將調(diào)用裝飾的方法锐膜。 # HostListener -將聽(tīng)取主元素毕箍,@HostListener聲明發(fā)出該事件。

HostBinding -聲明主機(jī)屬性binding.Angular在更改檢測(cè)期間自動(dòng)檢查主機(jī)屬性綁定道盏。如果綁定發(fā)生變化而柑,它將更新指令的主機(jī)元素。 # HostBinding -將綁定屬性Host元素荷逞,如果有約束力的變化媒咳,HostBinding將更新主機(jī)元素。

@Component({ changeDetection: ChangeDetectionStrategy.OnPush}), 監(jiān)聽(tīng)change策略

@HostListener('mouseleave') 
mouseleave() {
   this.backgroundColor = 'white'; 
 }

https://juejin.im/post/597fe587518825563e037bd3(簡(jiǎn)介)

http://www.reibang.com/p/fc96f60e5745(詳解V衷丁)

Reactive Extensions for JavaScript基于可觀(guān)測(cè)數(shù)據(jù)流在異步編程應(yīng)用中的庫(kù)

響應(yīng)式編程(RP —— Reactive Programming)

響應(yīng)式編程是一種面向數(shù)據(jù)流和變化傳播的編程范式涩澡。在編程語(yǔ)言中很方便地表達(dá)靜態(tài)或動(dòng)態(tài)的數(shù)據(jù)流,而相關(guān)的計(jì)算模型會(huì)自動(dòng)將變化的值通過(guò)數(shù)據(jù)流進(jìn)行傳播坠敷∶钔—— wikipedia

響應(yīng)式編程是使用異步數(shù)據(jù)流進(jìn)行編程射富。常見(jiàn)的異步數(shù)據(jù)流包含Event buses。用包含這些事件在內(nèi)的任何東西創(chuàng)建數(shù)據(jù)流(Data stream)粥帚,監(jiān)聽(tīng)他并作出響應(yīng)胰耗。

只關(guān)注業(yè)務(wù)邏輯互相依賴(lài)的事件而不是實(shí)現(xiàn)細(xì)節(jié)

適用于大量和數(shù)據(jù)有關(guān)的事件交互,特別是高實(shí)時(shí)性要求

Functional Programming 基本觀(guān)念

Functional Programming 是一種編程范式(programming paradigm)芒涡,就像 Object-oriented Programming(OOP)一樣柴灯,就是一種寫(xiě)程式的方法論,這些方法論告訴我們?nèi)绾嗡伎技敖鉀Q問(wèn)題拖陆。

我們可以寫(xiě)成

const add = (a, b) => a + b
const mul = (a, b) => a * b
const sub = (a, b) => a - b
sub(add(5, 6), mul(1, 3))

我們把每個(gè)運(yùn)算包成一個(gè)個(gè)不同的 function弛槐,并用這些 function 組合出我們要的結(jié)果懊亡,這就是最簡(jiǎn)單的 Functional Programming依啰。
函數(shù)風(fēng)格的編程特點(diǎn):
第一等公民是函數(shù)
帶有閉包的Lambdas/Anonymous函數(shù)
不變性,大部分無(wú)態(tài)處理店枣,沒(méi)有狀態(tài)和變量
高并發(fā)
無(wú)副作用的調(diào)用
通過(guò)tail call實(shí)現(xiàn)遞歸的性能優(yōu)化速警。
模式匹配(Haskell, Erlang)
懶賦值(Miranda, Haskell)
Homoiconicity(類(lèi)似LISP)

Iterator(迭代器) 跟 Observer(觀(guān)察者) 兩個(gè) Pattern模式,這兩個(gè) Pattern 都是漸進(jìn)式的取得元素鸯两,差異在于 Observer 是靠生產(chǎn)者推送資料闷旧,Iterator 則是消費(fèi)者去要求資料,而 Observable 就是這兩個(gè)思想的結(jié)合

//Iterator Pattern
class IteratorFromArray {
    constructor(arr) {
        this._array = arr;
        this._cursor = 0;
    }

    next() {
        return this._cursor < this._array.length ?
        { value: this._array[this._cursor++], done: false } :
        { done: true };
    }

    map(callback) {
        const iterator = new IteratorFromArray(this._array);
        return {
            next: () => {
                const { done, value } = iterator.next();
                return {
                    done: done,
                    value: done ? undefined : callback(value)
                }
            }
        }
    }
}

var iterator = new IteratorFromArray([1,2,3]);
var newIterator = iterator.map(value => value + 3);

newIterator.next();
// { value: 4, done: false }
newIterator.next();
// { value: 5, done: false }
newIterator.next();
// { value: 6, done: false }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末钧唐,一起剝皮案震驚了整個(gè)濱河市忙灼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钝侠,老刑警劉巖该园,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異帅韧,居然都是意外死亡里初,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)忽舟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)双妨,“玉大人,你說(shuō)我怎么就攤上這事叮阅〉笃罚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵浩姥,是天一觀(guān)的道長(zhǎng)哑诊。 經(jīng)常有香客問(wèn)我,道長(zhǎng)及刻,這世上最難降的妖魔是什么镀裤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任竞阐,我火速辦了婚禮,結(jié)果婚禮上暑劝,老公的妹妹穿的比我還像新娘骆莹。我一直安慰自己,他們只是感情好担猛,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布幕垦。 她就那樣靜靜地躺著,像睡著了一般傅联。 火紅的嫁衣襯著肌膚如雪先改。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,792評(píng)論 1 290
  • 那天蒸走,我揣著相機(jī)與錄音仇奶,去河邊找鬼。 笑死比驻,一個(gè)胖子當(dāng)著我的面吹牛该溯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播别惦,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼狈茉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了掸掸?” 一聲冷哼從身側(cè)響起氯庆,我...
    開(kāi)封第一講書(shū)人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扰付,沒(méi)想到半個(gè)月后堤撵,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡悯周,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年粒督,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片禽翼。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡屠橄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出闰挡,到底是詐尸還是另有隱情锐墙,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布长酗,位于F島的核電站溪北,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜之拨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一茉继、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蚀乔,春花似錦烁竭、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至睬魂,卻和暖如春终吼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背氯哮。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工际跪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蛙粘。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓垫卤,卻偏偏與公主長(zhǎng)得像威彰,于是被迫代替她去往敵國(guó)和親出牧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348