Ошибка машинописного текста: тип {...} нельзя назначить типу «Пользователь []» - PullRequest
0 голосов
/ 04 мая 2018

Я начал играть с Angular 4 и Typescript. Я совершенно новичок в Typescript. Я видел, что этот вопрос был задан здесь , но я не смог извлечь ответ на мою проблему.

import { OnInit } from '@angular/core';

export class UserComponent implements OnInit {
    me: User[];

    ngOnInit() {
       this.me = {
           name: 'Jochen',
           age: 31,
           email: 'mail@web.de',
           address: {
               street: 'Berlinerstraße 24',
               city: 'Berlin',
               state: 'Berlin'
           }
       };
    }
}

interface Address {
    city: string;
    street: string;
    state: string;
}

interface User {
    age: number;
    name: string;
    email: string;
    address: Address;
}

Вот ошибка, которую я получил при запуске ng serve:

ERROR in src/app/user/user.component.ts(11,7): error TS2322: Type '{ name: string; age: number; email: string; address: { street: string; city: string; state: strin...' is not assignable to type 'User[]'.
  Object literal may only specify known properties, and 'name' does not exist in type 'User[]'.

Интересно, как понять второе предложение, где написано 'name' does not exist in type 'User[]', оно существует. Можно ли помочь мне понять, что я делаю неправильно?

1 Ответ

0 голосов
/ 04 мая 2018

me: User[] объявляет переменную me как массив User элементов, что, я подозреваю, не то, что вы хотите сделать.

Правильный синтаксис должен быть просто me: User

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...