我的服务器站点C#模型
public class Teacher:Entity
{
public string Name { get; set; }
public string PhoneNo { get; set; }
}
客户端网站TypeScript模型
export class Teacher extends Entity {
public name:string;
public address:string;
public phoneNo :string;
}
客户端网站服务
getDataById(id: string):Observable<T> {
return this.repo.get(this.subUrl+'query',id).map( (res)=>{ return <T> res.json()})
}
客户端站点控制器
this.subscription= this.techerService.getDataById(this.id).subscribe( (data:Teacher) =>{
console.log(data);
this.model.name=data.name;
console.log(this.model))};
输出结果:Result on browser
我可以在没有这种映射的情况下映射吗?
this.model.name=data['Name'];
我想映射这种方法或更好的方法
this.model.name=data.name;
请帮忙
答案 0 :(得分:1)
您对Teacher
的声明有一个小写name
。您收到一个大写Name
的对象。 TypeScript应该抱怨data
没有Name
成员,因此请将您的data
参数声明为any
,而不是Teacher
。
this.subscription= this.techerService.getDataById(this.id).subscribe((data:any) =>{
console.log(data);
this.model.name=data.Name;
console.log(this.model);
答案 1 :(得分:0)
试试这个:
this.subscription= this.techerService.getDataById(this.id).subscribe( (data:Teacher) =>{
console.log(data);
this.model.name=data.Name;
console.log(this.model)