Angular2 尝试区分'[object Object]'时出错
Angular2 Error trying to diff '[object Object]'
我想升级我的应用程序,因此 css/bootstrap 中显示的数据将更改为 Prime NG DataTable
,我可以在其中过滤和排序数据。首先,我尝试 DataTable
使用虚拟 class + 虚拟数据。它工作正常。但是当我试图将它与我的应用程序集成时,它从 JSON 获取数据,它崩溃并显示 Error trying to diff '[object Object]'
。
在这里和互联网上检查这个问题没有帮助,因为它只是做了一些推测,比如 Angular 不检查 DataTable
中的数据是否被更改(我什至不确定如果是真的)。
在我的应用程序发生变化之前,您必须使用正确的用户名和密码登录才能显示登录帐户背后的数据。现在,当我登录时,它不适用于 Prime NG DataDatble
。
简化代码:
Vehicle.Service.ts
@Injectable()
export class VehicleService {
private defUrl = 'someURL';
constructor(private http: Http) { }
getVehicle(username?: string, password?: string) {
const url = (!username || !password) ? this.defUrl : 'someURL' + username + '/' + Md5.hashStr(password);
return this.http.get(url)
.map(res => res.json());
}
Vehicle.component.ts
public vehicles: GeneralVehicle[];
constructor(private vehicleService: VehicleService, private router: Router) {
this.vehicleService.getVehicle().subscribe(vehicle => {
this.vehicles = vehicle;
this.vehicles = this.vehicleService.parseUser();
});
}
模板:vehicle.html
<div *ngIf="vehicles">
<p-dataTable [value]="vehicles">
<p-column field="vehicles.vehicle_id" header="ID"></p-column>
<p-column field="vehicles.dallassettings" header="Name"></p-column>
</p-dataTable>
</div>
来自url的示例JSON(状态出现一次,所有"interesting"数据都在dallases
数组中)。
{
"status": 0,
"dallases": [{
"vehicle_id": 17954,
"dallassettings": "3",
"dallasupdated": "False",
"dallas_list": [{
"number": 666111222,
"auth": 3
}, {
"number": 666777888,
"auth": 4
}, {
"number": 123454321,
"auth": 4
}]
}
}
您需要将 html 作为
传递
<div *ngIf="vehicles.dallases">
<p-dataTable [value]="vehicles.dallases">
<p-column field="vehicles.dallases.vehicle_id" header="ID"></p-column>
<p-column field="vehicles.dallases.dallassettings" header="Name"></p-column>
</p-dataTable>
</div>
我想升级我的应用程序,因此 css/bootstrap 中显示的数据将更改为 Prime NG DataTable
,我可以在其中过滤和排序数据。首先,我尝试 DataTable
使用虚拟 class + 虚拟数据。它工作正常。但是当我试图将它与我的应用程序集成时,它从 JSON 获取数据,它崩溃并显示 Error trying to diff '[object Object]'
。
在这里和互联网上检查这个问题没有帮助,因为它只是做了一些推测,比如 Angular 不检查 DataTable
中的数据是否被更改(我什至不确定如果是真的)。
在我的应用程序发生变化之前,您必须使用正确的用户名和密码登录才能显示登录帐户背后的数据。现在,当我登录时,它不适用于 Prime NG DataDatble
。
简化代码:
Vehicle.Service.ts
@Injectable()
export class VehicleService {
private defUrl = 'someURL';
constructor(private http: Http) { }
getVehicle(username?: string, password?: string) {
const url = (!username || !password) ? this.defUrl : 'someURL' + username + '/' + Md5.hashStr(password);
return this.http.get(url)
.map(res => res.json());
}
Vehicle.component.ts
public vehicles: GeneralVehicle[];
constructor(private vehicleService: VehicleService, private router: Router) {
this.vehicleService.getVehicle().subscribe(vehicle => {
this.vehicles = vehicle;
this.vehicles = this.vehicleService.parseUser();
});
}
模板:vehicle.html
<div *ngIf="vehicles">
<p-dataTable [value]="vehicles">
<p-column field="vehicles.vehicle_id" header="ID"></p-column>
<p-column field="vehicles.dallassettings" header="Name"></p-column>
</p-dataTable>
</div>
来自url的示例JSON(状态出现一次,所有"interesting"数据都在dallases
数组中)。
{
"status": 0,
"dallases": [{
"vehicle_id": 17954,
"dallassettings": "3",
"dallasupdated": "False",
"dallas_list": [{
"number": 666111222,
"auth": 3
}, {
"number": 666777888,
"auth": 4
}, {
"number": 123454321,
"auth": 4
}]
}
}
您需要将 html 作为
传递<div *ngIf="vehicles.dallases">
<p-dataTable [value]="vehicles.dallases">
<p-column field="vehicles.dallases.vehicle_id" header="ID"></p-column>
<p-column field="vehicles.dallases.dallassettings" header="Name"></p-column>
</p-dataTable>
</div>