我在我的组件中从rest-api获得了角色,
pip install
然后我正尝试在模板中使用它,如下所示:
this.userService.getRoles().subscribe(data => this.roles = data);
但是不起作用,输出为{{roles | json}},所以对他们来说一切都很好,问题是选择不起作用。
<select name="role" [(ngModel)]="user.role">
<option *ngFor="let role of roles" [ngValue]="role">{{role.name}}</option>
</select>
答案 0 :(得分:2)
使用[compareWith]
。 Stackblitz
@Component({
selector: 'hello',
template: `
<select [(ngModel)]="selected" [compareWith]="compare">
<option *ngFor="let role of roles" [ngValue]="role">{{ role.desc }}</option>
</select><br>
<p>Selected role : {{ selected | json }}</p>
`,
styles: [`h1 { font-family: Lato; }`]
})
export class HelloComponent {
roles = [
{id: 1, desc: 'Admin' },
{id: 2, desc: 'User' },
];
selected: any;
compare(obj1, obj2) {
return obj1 && obj2 && obj1.id === obj2.id;
}
}