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

Angular7中創(chuàng)建組件/自定義指令/管道的方法實(shí)例詳解

 更新時(shí)間:2019年04月02日 10:15:25   作者:Aerfajj  
這篇文章主要介紹了在angular7中創(chuàng)建組件/自定義指令/管道的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下

組件

使用命令創(chuàng)建組件

•創(chuàng)建組件的命令:ng generate component 組件名
•生成的組件組成: 組件名.html 、組件名.ts、組件名.less、組件名.spec.ts
•在組件的控制器

@Component({
 selector: 'app-heroes',
 templateUrl: './heroes.component.html',
 styleUrls: ['./heroes.component.less']
})

手動(dòng)創(chuàng)建組件

1.創(chuàng)建一個(gè)組件ts文件

2.在組件中設(shè)置

// 1. 導(dǎo)入包,按需導(dǎo)入
import { Component } from "@angular/core";
import { CoreEdit, NavLayoutComponent } from "@reco/core";
import { DinerService } from "../Service";

// 2.定義當(dāng)前組件的修飾器
@Component({
 // 支出對(duì)外使用的名稱
 selector: "diner-birth",
 // 使用的模板
 templateUrl: "./diner.birth.html"
})

// 導(dǎo)出使用的類
export class DinerBirthComponent extends CoreEdit {
 constructor(
 private _dinerService: DinerService,
 layout: NavLayoutComponent
 ) {
 super(_dinerService, 'diner-birth', layout);
 }
}

1.在index.ts文件中引入并導(dǎo)出

// 1. 導(dǎo)入
import { DinerBirthComponent } from "./diner.birth";

// 2. 導(dǎo)出
export { DinerBirthComponent }

// 3. 注冊(cè)
@NgModule({
 // 這里列出的 NgModule 所導(dǎo)出的可聲明對(duì)象可用在當(dāng)前模塊內(nèi)的模板中
 imports: [....],

 // declarations:[ 組件 ] 屬于該模塊的一組組件、指令和管道(統(tǒng)稱可聲明對(duì)象)。
 // 注意點(diǎn):在這個(gè)源數(shù)據(jù)中只能聲明組件、管道、指令
 declarations: [DinerBirthComponent],

 // 定義此 NgModule 中要編譯的組件集,這樣它們才可以動(dòng)態(tài)加載到視圖中。
 entryComponents: [....],

 // 導(dǎo)出的模塊
 exports: [....]
})

指令

認(rèn)識(shí)指令

•說明:在 Angular 中有三種類型的指令: ◦1.組件 — 擁有模板的指令
◦2.結(jié)構(gòu)型指令 — 通過添加和移除 DOM 元素改變 DOM 布局的指令
◦3.屬性型指令 — 改變?cè)?、組件或其它指令的外觀和行為的指令。

自定義指令

•創(chuàng)建自定義指令的命令: ng g d 目錄/指令名稱

•創(chuàng)建指令

1.創(chuàng)建指令的文件ts文件

2.在指令文件中寫

import { Directive, ElementRef, Input, Output } from '@angular/core';

// 自定義指令
@Directive({
 selector: '[dinerHidden]'
})
// 導(dǎo)出指令的模塊
export class DinerHiddenDirective {
 // el 代表當(dāng)前的元素
 constructor(el: ElementRef) {
 // console.log()
 el.nativeElement.style.display = "none"
 }
}
1.在index.ts中將該指令導(dǎo)入到ngModule中
// 1.導(dǎo)入
import { DinerHiddenDirective } from "./diner.hidden";

// 2.導(dǎo)出
export const DINER_COMPONENTS: Provider[] = [ DinerHiddenDirective ];

// 3.ngModule中注冊(cè)
@NgModule({
 // 這里列出的 NgModule 所導(dǎo)出的可聲明對(duì)象可用在當(dāng)前模塊內(nèi)的模板中
 imports: [],

 // declarations:[ 組件 ] 屬于該模塊的一組組件、指令和管道(統(tǒng)稱可聲明對(duì)象)。
 // 注意點(diǎn):在這個(gè)源數(shù)據(jù)中只能聲明組件、管道、指令
 declarations: [DINER_COMPONENTS],
 // 定義此 NgModule 中要編譯的組件集,這樣它們才可以動(dòng)態(tài)加載到視圖中。
 entryComponents: []
})

1.在頁面中引用

 <!-- 隱藏當(dāng)前的這個(gè)標(biāo)簽 -->
 <div class="form-group col-sm-6" dinerHidden>
  
 </div>

管道中的常用API

asyncPipe

•說明:async 管道會(huì)訂閱一個(gè) Observable 或 Promise,并返回它發(fā)出的最近一個(gè)值。 當(dāng)新值到來時(shí),async 管道就會(huì)把該組件標(biāo)記為需要進(jìn)行變更檢測(cè)。當(dāng)組件被銷毀時(shí),async 管道就會(huì)自動(dòng)取消訂閱,以消除潛在的內(nèi)存泄露問題。

CurrencyPipe

•說明:把數(shù)字轉(zhuǎn)換成金額字符串, 根據(jù)本地化規(guī)則進(jìn)行格式化,這些規(guī)則會(huì)決定分組大小和分組分隔符、小數(shù)點(diǎn)字符以及其它與本地化環(huán)境有關(guān)的配置項(xiàng)。

DatePipe

•說明:把數(shù)字轉(zhuǎn)換成金額字符串, 根據(jù)本地化規(guī)則進(jìn)行格式化,這些規(guī)則會(huì)決定分組大小和分組分隔符、小數(shù)點(diǎn)字符以及其它與本地化環(huán)境有關(guān)的配置項(xiàng)。

DecimalPipe

•說明:把數(shù)字轉(zhuǎn)換成字符串, 根據(jù)本地化規(guī)則進(jìn)行格式化,這些規(guī)則會(huì)決定分組大小和分組分隔符、小數(shù)點(diǎn)字符以及其它與本地化環(huán)境有關(guān)的配置項(xiàng)。

自定義管道

•創(chuàng)建管道的命令:ng g pipe 目錄/管道名稱

•手動(dòng)創(chuàng)建管道 •創(chuàng)建ts文件

import { Pipe, PipeTransform } from '@angular/core';

// 自定義管道 getGender
@Pipe({
 name: 'getGender'
})

// 創(chuàng)建的管道的類
export class GenderPipe implements PipeTransform {
 transform(value: string, exponent: string) {
 if (value == ' ') return "未知"
 return value === 'm' ? "男" : "女"
 }
}

•將這個(gè)管道添加到NgModuel中

// 1. 先導(dǎo)入
import { GenderPipe } from "./diner.gender";

// 2.導(dǎo)出 
export const DINER_COMPONENTS: Provider[] = [GenderPipe];

// 3.添加到NgModule中的
@NgModule({
 // 這里列出的 NgModule 所導(dǎo)出的可聲明對(duì)象可用在當(dāng)前模塊內(nèi)的模板中
 imports: [...],

 // declarations:[ 組件 ] 屬于該模塊的一組組件、指令和管道(統(tǒng)稱可聲明對(duì)象)。
 // 注意點(diǎn):在這個(gè)源數(shù)據(jù)中只能聲明組件、管道、指令
 declarations: [DINER_COMPONENTS],
 // 定義此 NgModule 中要編譯的組件集,這樣它們才可以動(dòng)態(tài)加載到視圖中。
 entryComponents: [...]
})

•在頁面中引入使用

~
<!-- item.DGender的值為m和w,將對(duì)應(yīng)的m轉(zhuǎn)為男,w轉(zhuǎn)為女 -->
<td>{{item.DGender | getGender}}</td>
~

總結(jié)

以上所述是小編給大家介紹的Angular7中創(chuàng)建組件/自定義指令/管道的方法實(shí)例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 深入淺析Angular SSR

    深入淺析Angular SSR

    Angular Universal 主要關(guān)注將 Angular App 如何進(jìn)行服務(wù)端渲染和生成靜態(tài) HTML,對(duì)于用戶交互復(fù)雜的 SPA 并不推薦使用 SSR,本文是在 Angular 14 環(huán)境中完成,有些內(nèi)容對(duì)于新的 Angular 版本可能并不適用,感興趣的朋友一起通過本文學(xué)習(xí)
    2022-11-11
  • 關(guān)于AngularJS中ng-repeat不更新視圖的解決方法

    關(guān)于AngularJS中ng-repeat不更新視圖的解決方法

    今天小編就為大家分享一篇關(guān)于AngularJS中ng-repeat不更新視圖的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 簡(jiǎn)單講解AngularJS的Routing路由的定義與使用

    簡(jiǎn)單講解AngularJS的Routing路由的定義與使用

    這篇文章主要介紹了AngularJS的Routing路由的定義與使用,講解了when()和otherwise()兩個(gè)相關(guān)的常用方法,需要的朋友可以參考下
    2016-03-03
  • 淺談angularJS2中的界面跳轉(zhuǎn)方法

    淺談angularJS2中的界面跳轉(zhuǎn)方法

    今天小編就為大家分享一篇淺談angularJS2中的界面跳轉(zhuǎn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • angularJs的ng-class切換class

    angularJs的ng-class切換class

    這篇文章主要介紹了angularJs的ng-class切換class,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • AngularJS使用ng-class動(dòng)態(tài)增減class樣式的方法示例

    AngularJS使用ng-class動(dòng)態(tài)增減class樣式的方法示例

    這篇文章主要介紹了AngularJS使用ng-class動(dòng)態(tài)增減class樣式的方法,結(jié)合具體實(shí)例形式分析了ng-class操作頁面class樣式的相關(guān)技巧,需要的朋友可以參考下
    2017-05-05
  • Angular跨字段驗(yàn)證器中如何直接調(diào)用其它獨(dú)立的驗(yàn)證器

    Angular跨字段驗(yàn)證器中如何直接調(diào)用其它獨(dú)立的驗(yàn)證器

    我們?cè)陂_發(fā)的時(shí)候都會(huì)用到表單,那么驗(yàn)證器就是必不可少的東西,這篇文章主要給大家介紹了關(guān)于在Angular跨字段驗(yàn)證器中如何直接調(diào)用其它獨(dú)立的驗(yàn)證器的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • angularJS實(shí)現(xiàn)不同視圖同步刷新詳解

    angularJS實(shí)現(xiàn)不同視圖同步刷新詳解

    今天小編就為大家分享一篇angularJS實(shí)現(xiàn)不同視圖同步刷新詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • angularjs實(shí)現(xiàn)多張圖片上傳并預(yù)覽功能

    angularjs實(shí)現(xiàn)多張圖片上傳并預(yù)覽功能

    這篇文章主要為大家詳細(xì)介紹了angularjs實(shí)現(xiàn)多張圖片上傳并預(yù)覽功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Angularjs實(shí)現(xiàn)控制器之間通信方式實(shí)例總結(jié)

    Angularjs實(shí)現(xiàn)控制器之間通信方式實(shí)例總結(jié)

    這篇文章主要介紹了Angularjs實(shí)現(xiàn)控制器之間通信方式,結(jié)合實(shí)例形式總結(jié)分析了AngularJS控制器常用通信方式及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-03-03

最新評(píng)論