【问题标题】:Angular 2: model ts class composed of another model tsAngular 2:模型 ts 类由另一个模型 ts 组成
【发布时间】: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'。 属性“地址”的类型不兼容。 类型“字符串”不可分配给类型“地址”。

【问题讨论】:

    标签: angular model


    【解决方案1】:

    其实很简单:

    ...,'address' : {street:'a', street2:'b', city:'c', state:'d'}, ...
    

    【讨论】:

      猜你喜欢
      • 2016-08-16
      • 2019-08-30
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-30
      • 2018-01-16
      • 2017-04-16
      相关资源
      最近更新 更多