1、后台返回字段的名称和数量要相匹配,以下面的数据结构为例子:
情况一:
export interface Class1 {
id?: string, // ?代表可选
name: string
}
情况二:
如果后台返回的对象为{name: ‘1’}或者{id: ‘1’, name: ‘1’}是可以的,因为id是可选项。
如果为以下数据结构,则{name: ‘1’}是不行的。
export interface Class1 {
id: string,
name: string
}
注意: 针对以上两种情况,后台返回多余字段是可以识别的,比如 {id: ‘1’, name: ‘1’, sex: ‘男’}。但是如果显性的给现有对象数组push {id: ‘1’, name: ‘1’, sex: ‘男’}则不行。
2
通过自定义service调用后台接口时,在逻辑层没有订阅,即调用subscribe()方法,前端是没有数据返回的,换句话说就是没有真正的调取后台接口。
TypeScript 如何获取本地json数据?
- 定义保存数据的.ts文件
- 在逻辑层(数据使用的地方)import 该文件,不需要通过HTTP引入
- 直接赋值给数据mode。
注意: 在引入json对象过程中,如果某个对象属性是图片,由于angular-cli是基于webpack的,则通过相对路径引入图片,通过require而不是import或者直接使用字符串,类似:let imgSrc = require('../img/1.png');
3 typescript TS2339: Property ‘result’ does not exist on type ‘***’.
原因:接口返回的值和接受返回值的参数的类型不一致。