Javascript 如何在ngModel中以角度传递两个属性?
嗨,我在从事Angular 7项目。我想将id发送到API请求,并在if条件下发送文本 以下是一个例子:Javascript 如何在ngModel中以角度传递两个属性?,javascript,angular,angular8,angular9,Javascript,Angular,Angular8,Angular9,嗨,我在从事Angular 7项目。我想将id发送到API请求,并在if条件下发送文本 以下是一个例子: [{id: 2, text: 'upper'},{id: 3, text: 'Lower'} ] 在这里,我想在if条件中使用文本,并且将所有这些值推送到类中的一个对象 这是我的HTML: <select class="form-control" name="objtype" [(ngModel)]="obj.text"
[{id: 2, text: 'upper'},{id: 3, text: 'Lower'} ]
在这里,我想在if条件中使用文本,并且将所有这些值推送到类中的一个对象
这是我的HTML:
<select class="form-control" name="objtype" [(ngModel)]="obj.text" (change)="changedropdown()" required>
对于请求,我只能发送文本,因为我使用的是
[(ngModel)]=“obj.text”
现在我想在不使用ngModel
的情况下向请求发送id。有什么解决办法吗?TIA.这方面的诀窍是将对象绑定到
的ngModel
和每个
的ngValue
,通过与进行比较,定制基于id
的相等性的比较
component.html
<select [(ngModel)]="selected" [compareWith]="compareById">
<option *ngFor="let option of options" [ngValue]="option">
{{option.text}}
</option>
</select>
{{option.text}
组件。ts
options = [
{id: 2, text: 'upper'},
{id: 3, text: 'Lower'}
];
selected: {id: number, text: string} | undefined;
compareById = <T extends {id: number}>(x: T, y: T) => x.id === y.id;
选项=[
{id:2,文本:'upper'},
{id:3,文本:'Lower'}
];
选中:{id:number,text:string}|未定义;
compareById=(x:T,y:T)=>x.id==y.id;
它应该非常简单,只要将[(ngModel)]
的值更改为obj.id
。你到底在问什么?我知道,但我要问的是,在不改变我已经提到的ngModel的情况下,我只想向API请求发送id。@Yakub,你的问题不仅仅是id
。不要在评论中而不是问题中添加修订。事实上,您的问题的标题是“如何传递两个属性”