【发布时间】:2019-01-11 10:45:25
【问题描述】:
我正在尝试在 Angular 中实现一个选择框,以便能够在订单之间切换。我还有一个通用表,它需要一个 api Url 来获取该特定订单。 api url 一起构建在 ts 文件中,并包含我尝试使用[(ngModel)] 绑定的orderId。当我使用选择框在orderIds 之间切换时,我希望更新表格。
当我使用以下实现时,{{orderId}} 在我更改选择框时会更新,但{{orderFilesApi}}(和表格数据)不会。
你知道我做错了什么吗?
.ts文件:
@Input() orderId = '123';
@Output() orderFilesApi = this.serverUrl + '?' + 'orderid=' + this.orderId;
orders: Orders[] = [
{value: '123', viewValue: 'ORDER1'},
{value: '456', viewValue: 'ORDER2'}
];
.html文件:
<mat-form-field>
<mat-select placeholder="Change Order" [(ngModel)]="orderId">
<mat-option *ngFor="let order of orders" [value]="order.value">
{{order.viewValue}}
</mat-option>
</mat-select>
</mat-form-field>
<div>{{orderId}}</div>
<div>{{orderFilesApi}}</div>
<app-data-table
[apiUrl]="orderFilesApi"
[displayedColumns]="['name', 'type']">
</app-data-table>
【问题讨论】:
-
你能用示例数据创建 stackblitz 吗?
-
orderFilesApi不应该是值数据类型,因为你用@Output()装饰它,它应该是EventEmitter