【发布时间】:2016-04-17 22:37:53
【问题描述】:
我有一个 Hero 和一个 Address 模型类,Hero 的属性之一是它的 Address,它由以下部分组成:街道、城市...。在具体模型源类中指定它的正确方法是什么?
hero.ts:
import {Address} from './address';
export class Hero {
id: number;
name: string;
powers: string [];
address: Address;
}
地址.ts:
export class Address {
street: string;
street2: string;
city: string;
state: string;
}
模拟英雄.ts:
import {Hero} from './hero';
export var HEROES: Hero[] = [
{"id": 11, "name": "Mr. Nice", "powers" : ['nice', 'helpful'], "address" : ("a", "b", "c", "d")},
{"id": 12, "name": "Narco", "powers" : ['nice', 'helpful'], "address" : ("a", "b", "c", "d")}
];
运行“npm start”时出错:
app/mock-heroes.ts(3,12): error TS2322: Type '{ "id": number; “名称”:字符串; “权力”:字符串[]; “地址”:字符串; }[]' 不能分配给类型 'Hero[]'。 输入'{“id”:数字; “名称”:字符串; “权力”:字符串[]; “地址”:字符串; }' 不可分配给类型 'Hero'。 属性“地址”的类型不兼容。 类型“字符串”不可分配给类型“地址”。
【问题讨论】: