我有一个控制器方法
[HttpGet("[action]")]
public IActionResult Makes()
{
var data = _vehicleService.GetMake(0, 10);
return Ok(data);
}
它有效,我调试了它,并用所需的数据填充了数据。当您需要倾斜使用它并创建视图时,就会出现问题。 从我所看到的,我才刚刚开始使用angular。调试起来有点困难。
在我的组件中,我有这个打字稿文件
import { Component, Inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-fetch-data',
templateUrl: './fetch-data.component.html'
})
export class FetchDataComponent {
public makes: Makes[];
constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {
http.get<Makes[]>(baseUrl + 'api/SampleData/Makes').subscribe(result => {
this.makes = result;
}, error => console.error(error));
}
}
interface Makes {
Id: number;
Name: string;
Abrv: string;
}
这是视图
<h1>Makes</h1>
<p *ngIf="!makes"><em>Loading...</em></p>
<table class='table' *ngIf="makes">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Abrv</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let make of makes">
<td>{{ make.Id }}</td>
<td>{{ make.Name }}</td>
<td>{{ make.Abrv }}</td>
</tr>
</tbody>
</table>
因此,由于数据已填充了所需的数据,因此我假设打字稿构造函数完成了该工作并调用了该方法,但该数据未显示在网格表中,因此为空。 在同一个类中创建的接口是否重要,我认为该接口会获取信息。我可以以某种方式使用我的viewmodel代替该接口吗?
答案 0 :(得分:0)
已解决:
问题出在HTML代码上。我使用了make.Id,但是当console.log(result)时,我注意到ID是小写的。将其更改为make.id并可以使用。