angular - 在 Angular 2+ 中为 ngmodel 设置动态变量引用

标签 angular angular5 angular2-template angular2-forms

我有一个表的标题,必须根据 json {id, name} 填充该表头 this.id 是我在组件中使用的 ngModel 名称,需要分别映射为自定义过滤器。

说,

 list=[{id:ageSearch,name:age},{id:adressSearch,name:adress}]

因此,当我输入第一个输入文本字段的值时,将填充ageSearch并且它必须过滤数据,与adressSearch类似 现在我想知道如何在ngfor中动态映射变量ageSearch,adressSearch。

我尝试使用

 <div *ngFor="let item of list;let index = index;trackBy:trackByIndex;">
      <input [(ngModel)]="item[id]" placeholder="item">
    </div>

但是,它填充值ageSearch而不是绑定(bind)变量。 谁能告诉我我正在尝试的东西是否可行。 如果是这样我怎样才能达到预期的流量。

预期结果应该是

<div>
     <input [(ngModel)]="ageSearch" placeholder="item">
</div>
<div>
     <input [(ngModel)]="adressSearch" placeholder="item">
</div>

编辑: 在组件中我将变量声明为 让年龄搜索:任意; 让地址搜索:任意;

这些值将传递给自定义过滤器。 因此,我必须设置输入的 ngModel 来绑定(bind)这些变量名称,以便它们最初在加载时显示为空白,并且当我们输入值时,它们分别反射(reflect) AgeSearch 和 adressSearch 的值。 然后将其传递给自定义过滤器。 谢谢。

最佳答案

经过一番尝试和尝试,我通过替换

<input [(ngModel)]="item.id" name="{{item.name}}" placeholder="item">

<input [(ngModel)]="this[item.id]" name="{{item.name}}" placeholder="item">

谢谢。

关于angular - 在 Angular 2+ 中为 ngmodel 设置动态变量引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52336703/

相关文章:

javascript - Angular 2+一次性绑定(bind)

Angular Universal (SSR) 和路由器动画首先加载/触发

Angular 8 : ERROR Error: No component factory found

html - Angular 2 : Input Controls losses value inside form tag with ngFor

部署后 Angular 5 路由不起作用

angular - 自定义密码匹配验证器在 Angular5 中不起作用

angular - 如何使用 ngForTemplate 包装模板?

javascript - ScrollIntoView 在移动设备上不平滑( Angular )

javascript - 将过滤器选择作为对象发送以在 Angular 应用程序中返回多个值

angular - 如何在ngx-input-file中获取上传文件的url和名称