Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ngModel中以角度传递两个属性?_Javascript_Angular_Angular8_Angular9 - Fatal编程技术网

Javascript 如何在ngModel中以角度传递两个属性?

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"

嗨,我在从事Angular 7项目。我想将id发送到API请求,并在if条件下发送文本

以下是一个例子:

[{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
。不要在评论中而不是问题中添加修订。事实上,您的问题的标题是“如何传递两个属性”