91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Angular7中創建組件/自定義指令/管道的方法實例詳解

發布時間:2020-09-01 11:53:20 來源:腳本之家 閱讀:170 作者:Aerfajj 欄目:web開發

組件

使用命令創建組件

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

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

手動創建組件

1.創建一個組件ts文件

2.在組件中設置

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

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

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

1.在index.ts文件中引入并導出

// 1. 導入
import { DinerBirthComponent } from "./diner.birth";

// 2. 導出
export { DinerBirthComponent }

// 3. 注冊
@NgModule({
 // 這里列出的 NgModule 所導出的可聲明對象可用在當前模塊內的模板中
 imports: [....],

 // declarations:[ 組件 ] 屬于該模塊的一組組件、指令和管道(統稱可聲明對象)。
 // 注意點:在這個源數據中只能聲明組件、管道、指令
 declarations: [DinerBirthComponent],

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

 // 導出的模塊
 exports: [....]
})

指令

認識指令

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

自定義指令

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

•創建指令

1.創建指令的文件ts文件

2.在指令文件中寫

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

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

// 2.導出
export const DINER_COMPONENTS: Provider[] = [ DinerHiddenDirective ];

// 3.ngModule中注冊
@NgModule({
 // 這里列出的 NgModule 所導出的可聲明對象可用在當前模塊內的模板中
 imports: [],

 // declarations:[ 組件 ] 屬于該模塊的一組組件、指令和管道(統稱可聲明對象)。
 // 注意點:在這個源數據中只能聲明組件、管道、指令
 declarations: [DINER_COMPONENTS],
 // 定義此 NgModule 中要編譯的組件集,這樣它們才可以動態加載到視圖中。
 entryComponents: []
})

1.在頁面中引用

 <!-- 隱藏當前的這個標簽 -->
 <div class="form-group col-sm-6" dinerHidden>
  
 </div>

管道中的常用API

asyncPipe

•說明:async 管道會訂閱一個 Observable 或 Promise,并返回它發出的最近一個值。 當新值到來時,async 管道就會把該組件標記為需要進行變更檢測。當組件被銷毀時,async 管道就會自動取消訂閱,以消除潛在的內存泄露問題。

CurrencyPipe

•說明:把數字轉換成金額字符串, 根據本地化規則進行格式化,這些規則會決定分組大小和分組分隔符、小數點字符以及其它與本地化環境有關的配置項。

DatePipe

•說明:把數字轉換成金額字符串, 根據本地化規則進行格式化,這些規則會決定分組大小和分組分隔符、小數點字符以及其它與本地化環境有關的配置項。

DecimalPipe

•說明:把數字轉換成字符串, 根據本地化規則進行格式化,這些規則會決定分組大小和分組分隔符、小數點字符以及其它與本地化環境有關的配置項。

自定義管道

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

•手動創建管道 •創建ts文件

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

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

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

•將這個管道添加到NgModuel中

// 1. 先導入
import { GenderPipe } from "./diner.gender";

// 2.導出 
export const DINER_COMPONENTS: Provider[] = [GenderPipe];

// 3.添加到NgModule中的
@NgModule({
 // 這里列出的 NgModule 所導出的可聲明對象可用在當前模塊內的模板中
 imports: [...],

 // declarations:[ 組件 ] 屬于該模塊的一組組件、指令和管道(統稱可聲明對象)。
 // 注意點:在這個源數據中只能聲明組件、管道、指令
 declarations: [DINER_COMPONENTS],
 // 定義此 NgModule 中要編譯的組件集,這樣它們才可以動態加載到視圖中。
 entryComponents: [...]
})

•在頁面中引入使用

~
<!-- item.DGender的值為m和w,將對應的m轉為男,w轉為女 -->
<td>{{item.DGender | getGender}}</td>
~

總結

以上所述是小編給大家介紹的Angular7中創建組件/自定義指令/管道的方法實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

垦利县| 武川县| 柳林县| 积石山| 卓尼县| 顺义区| 财经| 北碚区| 岳阳市| 乌拉特后旗| 萍乡市| 武清区| 海原县| 绍兴县| 丹寨县| 高台县| 徐水县| 新干县| 卢氏县| 肇庆市| 涟源市| 大埔县| 重庆市| 秀山| 古浪县| 瓮安县| 河源市| 谷城县| 奉化市| 凌源市| 玛曲县| 崇阳县| 如皋市| 乐都县| 咸丰县| 定襄县| 武鸣县| 江都市| 贵州省| 太仆寺旗| 江孜县|