国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Angular怎樣向組件輸入ngForOf

來源:懂視網 責編:小采 時間:2020-11-27 19:58:06
文檔

Angular怎樣向組件輸入ngForOf

Angular怎樣向組件輸入ngForOf:這次給大家帶來Angular怎樣向組件輸入ngForOf,Angular向組件輸入ngForOf的注意事項有哪些,下面就是實戰案例,一起來看一下?,F在,我們寫一個組件puppiesListCmp,用于顯示小狗狗的列表://puppies-list.component.ts @Componen
推薦度:
導讀Angular怎樣向組件輸入ngForOf:這次給大家帶來Angular怎樣向組件輸入ngForOf,Angular向組件輸入ngForOf的注意事項有哪些,下面就是實戰案例,一起來看一下。現在,我們寫一個組件puppiesListCmp,用于顯示小狗狗的列表://puppies-list.component.ts @Componen
這次給大家帶來Angular怎樣向組件輸入ngForOf,Angular向組件輸入ngForOf的注意事項有哪些,下面就是實戰案例,一起來看一下。

現在,我們寫一個組件puppiesListCmp,用于顯示小狗狗的列表:

//puppies-list.component.ts
@Component({
 selector: 'puppies-list',
 template: `
 <p *ngFor="let puppy of puppies">
 <span>{{puppy.name}}</span>
 <span>{{puppy.age}}</span>
 <span>{{puppy.color}}</span>
 </p>
`
})
export class puppiesListCmp{
 @Input() puppies: Puppy[];
}
interface Puppy {
 name: string,
 age: number,
 color: string
}

然后這樣使用:

//app.component.ts
@Component({
 selector: 'my-app',
 template: `
 <puppies-list [puppies]="puppies"></puppies-list>
`
})
export class App{
 puppies = [
 {
 name: "sam",
 age: 0.6,
 color: "yellow"
 },
 {
 name: "bingo",
 age: 1.5,
 color: "black"
 }
 ]
}

效果就行這樣:

但是,我希望我們的puppiesListCmp組件可以滿足不同的需求,比如在數據不變的情況下只顯示小狗狗的name和color,就像這樣:

這就是本文的重點了。我們需要實現用戶自定義模板!

現在我們不寫死組件的模板了,而是讓用戶從外部輸入!

首先,我們的組件模板:

<p *ngFor="let puppy of puppies">
 <span>{{puppy.name}}</span>
 <span>{{puppy.age}}</span>
 <span>{{puppy.color}}</span>
</p>

等價于:

<ng-template ngFor let-puppy [ngForOf]="puppies">
 <p>
 <span>{{puppy.name}}</span>
 <span>{{puppy.age}}</span>
 <span>{{puppy.color}}</span>
 </p>
</ng-template>

然后,用@ContentChild(關于@ContentChild可以查看這里,需FQ)獲取到外部(相對puppiesListCmp組件而言)自定義模板,并賦給ngForTemplate。也就是說,這部分:

<p>
 <span>{{puppy.name}}</span>
 <span>{{puppy.age}}</span>
 <span>{{puppy.color}}</span>
</p>

不再像之前那樣寫死在組件里了,而是由使用者在父組件中自定義,然后利用Angular的內容投射(Content Projection),投射到puppiesListCmp組件里面。就像這樣:

//puppies-list.component.ts
import { Component, Input, ContentChild, TemplateRef } from '@angular/core';
import { NgForOfContext } from '@angular/common';
@Component({
 selector: 'puppies-list',
 template: `
<ng-template ngFor let-puppy [ngForOf]="puppies" [ngForTemplate]="tpl"></ng-template>
`
})
export class puppiesListCmp{
 @Input() puppies: Puppy[];
 @ContentChild(TemplateRef) tpl: TemplateRef<NgForOfContext<Puppy>>
}
interface Puppy {
 name: string,
 age: number,
 color: string
}

這樣我們的組件就算完成了。然后我們使用它:

//app.component.ts
@Component({
 selector: 'my-app',
 template: `
<puppies-list [puppies]="puppies">
 <ng-template let-puppy>
 <p>
 <span>{{puppy.name}}</span>
 <span>{{puppy.age}}</span>
 <span>{{puppy.color}}</span>
 </p>
 </ng-template>
</puppies-list>
`
})

效果還是一樣的:

如果我們只要顯示小狗狗的name和color,只要這樣寫就好了:

//app.component.ts
@Component({
 selector: 'my-app',
 template: `
<puppies-list [puppies]="puppies">
 <ng-template let-puppy>
 <p>
 <span>{{puppy.name}}</span>
 <span>{{puppy.color}}</span>
 </p>
 </ng-template>
</puppies-list>
`
})

效果就像這樣:

這樣的組件很靈活,想要什么樣的效果都可以定制,這就實現了組件的復用。

相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!

推薦閱讀:

vue項目怎樣通過百度的BAE發布

為什么vue2中不能使用axios http請求

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Angular怎樣向組件輸入ngForOf

Angular怎樣向組件輸入ngForOf:這次給大家帶來Angular怎樣向組件輸入ngForOf,Angular向組件輸入ngForOf的注意事項有哪些,下面就是實戰案例,一起來看一下?,F在,我們寫一個組件puppiesListCmp,用于顯示小狗狗的列表://puppies-list.component.ts @Componen
推薦度:
標簽: 輸入 如何 組件
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美亚洲综合网 | 久久久国产一区二区三区 | 怡红院一区二区三区 | 欧美日韩在线观看视频 | 免费观看日韩大尺码观看 | 欧美极品欧美日韩 | 国产成人精品一区二区免费视频 | 国产精品久久一区一区 | 久久99精品国产99久久 | 女人18毛片a级毛片一区②区 | 中文字幕国产欧美 | 欧美日韩精品在线视频 | 伊人色综合97 | 精品久久久久久综合日本 | 四虎精品成人a在线观看 | 精品国产亚洲一区二区三区 | 伊人久久亚洲综合天堂 | 久久免费视频网站 | 日韩在线观看视频免费 | 一区二区在线观看视频 | 日韩毛毛片 | 国产免费观看视频 | 一区二区三区电影 | 国产成人久久精品二区三区 | 爽妇网s| 欧美a区| 亚洲 欧美 91 | 亚州第一视频 | 日韩欧美激情视频 | 亚洲欧美日韩中文无线码 | 日韩欧美国产综合 | 日韩在线视频精品 | 国产一区二区三区亚洲欧美 | 国产一区不卡 | 国产日韩在线观看视频网站 | 国产全黄a一级毛片 | 亚洲欧洲另类 | 国产亚洲综合成人91精品 | 国产1区2区 | 欧美日韩国产在线播放 | 多人伦精品一区二区三区视频 |