第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Angular:在 ngFor 內(nèi)綁定 ngIf

Angular:在 ngFor 內(nèi)綁定 ngIf

藍山帝景 2022-05-14 13:44:00
我正在嘗試在每個列表項上使用條件填充列表,其中條件可以通過用戶輸入進行更改。例如:app.component.tsprivate check = true;private some = [    {name: 'ABC', condition: true},    {name: 'def', condition: this.check},    {name: 'GHI', condition: true}];app.component.html<div *ngFor="let item of some">  <div *ngIf="item.condition">  {{item.name}}  </div></div><select [(ngModel)]="check">  <option [value]="true">true</option>  <option [value]="false">false</option></select>在這里,我有一個列表,['ABC', 'def', 'GHI']我想始終顯示其中的一些元素,(condition: true)而對于其余的,我將條件放在一個變量(check)中。列表正在正確加載,但在(check)通過下拉列表更改條件變量時,沒有反映更改(列表未更新)。任何幫助將非常感激!
查看完整描述

2 回答

?
30秒到達戰(zhàn)場

TA貢獻1828條經(jīng)驗 獲得超6個贊

您必須使用一個對象將“已檢查”屬性鏈接到數(shù)組。

此外,如果條件為假,您應(yīng)該使用<ng-container>它以便不生成任何 HTML。


<!-- HTML -->

<ng-container *ngFor="let item of some">

  <div *ngIf="item.condition">

    {{item.name}}

  </div>

</ng-container>


<select [(ngModel)]="myFakeForm.check">

  <option [value]="true">true</option>

  <option [value]="false">false</option>

</select>


// TS

public myFakeForm = { check: true }

public some = [

    {name: 'ABC', condition: true},

    {name: 'def', condition: this.myFakeForm.check},

    {name: 'GHI', condition: true}

];


查看完整回答
反對 回復 2022-05-14
?
慕少森

TA貢獻2019條經(jīng)驗 獲得超9個贊

  1. 您應(yīng)該對模板中解析的字段使用公共訪問權(quán)限

  2. this.check作為值而不是對組件字段的引用傳遞 - 這就是它在下拉選擇中沒有改變的原因。

所以為了解決這個問題,你必須以某種方式通過引用傳遞“檢查”標志。例如,您可以將檢查從布爾值更改為某個對象: check = {value: boolean = true};或者考慮更通用的方法:)


查看完整回答
反對 回復 2022-05-14
  • 2 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號