Аргумент типа '{message: string;} 'нельзя назначить параметру типа' any [] ' - PullRequest
0 голосов
/ 19 июня 2019

Я работаю над проектом из учебной библиотеки LinkedIn, использующей FireBase. Мне удалось выяснить несколько обновлений из фильма, но я застрял на одном. Я получаю ошибку

Аргумент типа '{message: string; } 'нельзя назначить параметру типа' any [] '. Объектный литерал может указывать только известные свойства, а «message» не существует в типе «any []». из этого кода:

   export class AppComponent {
 items: AngularFireList<any[]>;
 msg  =  '';

 constructor(public af: AngularFireDatabase) {
  this.items = af.list('/messages');
 }
 send(chatMsg: string) {
   this.items.push({ message: chatMsg });
   this.msg = '';
 }
    }

Ошибка, кажется, от this.items.push({message: chatMsg });

Я импортировал и AngularFireDatabase и AngularFireList из '@ angular / fire / database'; Поэтому я не уверен, в чем проблема. Я пытаюсь выучить Angular и сейчас немного растерялся.

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

На основе примера в документации здесь вам необходимо:

items: AngularFireList<any>;

вместо items: AngularFireList<any[]>;

0 голосов
/ 19 июня 2019

AngularFireList ожидает универсальный аргумент, представляющий один элемент в списке. В настоящее время вы указываете, что каждый элемент в списке является any[].

Возможно, вы хотите, чтобы вместо определения типа было AngularFireList<any>.

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