Javascript 角度:在NGF内部绑定NGF
我试图在每个列表项上填充一个带有条件的列表,其中条件可以通过用户输入进行更改Javascript 角度:在NGF内部绑定NGF,javascript,html,angular,data-binding,javascript-databinding,Javascript,Html,Angular,Data Binding,Javascript Databinding,我试图在每个列表项上填充一个带有条件的列表,其中条件可以通过用户输入进行更改 例如: app.component.ts private check = true; private some = [ {name: 'ABC', condition: true}, {name: 'def', condition: this.check}, {name: 'GHI', condition: true} ]; app.component.html <div *ngFor=
例如:
app.component.ts
private 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>
{{item.name}
真的
假的
在这里,我有一个列表,['ABC','def','GHI']
,其中一些元素我希望总是显示(条件:true)
,其余的,我将条件放在变量(检查)
中列表加载正确,但通过下拉菜单更改条件变量
(选中)
,不会反映更改(列表不会更新)任何帮助都将不胜感激
此。检查
作为值传递,而不是对组件字段的引用-这就是为什么它在下拉选择中没有更改check={value:boolean=true}代码>或考虑更通用的方法:)您必须使用对象使“checked”属性链接到数组。
此外,如果条件为false,则应使用
,以免生成任何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}
];
{{item.name}
真的
假的
//TS
public myFakeForm={check:true}
公共部分=[
{name:'ABC',条件:true},
{name:'def',条件:this.myFakeForm.check},
{name:'GHI',条件:true}
];
感谢您的回复!但是上面的代码片段不起作用。列表仍然根据条件的初始值。你能再检查一下吗?那样的话,你可能得改变一下操作方法。some
是静态数组吗?我的意思是它不依赖于任何东西,你总是用3个元素在构造器中构建它,只有第二个元素依赖于复选框?我试着像上面提到的那样做,但它是一样的。列表未得到更新