угловая ошибка типа 2 - TS2322 - PullRequest
0 голосов
/ 30 апреля 2018

Я работаю над проектом приложения Angular 2 MEAN. Я столкнулся с проблемой ниже в моем коде.

ошибка TS2322: Тип '{' id ': строка; 'Bowlingteam': строка; 'battingteam': строка; } 'нельзя присвоить типу' any [] '.
Свойство 'include' отсутствует в типе '{' id ': строка; 'Bowlingteam': строка; 'battingteam': строка; } '

Я объявил переменную класса как

startMatchInput : Array<any> = [{
       'id' : '',
       'bowlingteam' : '',
       'battingteam' : ''

  }];

каждый объект, который я помещаю, использует функцию, объявленную в классе. По сути, я формирую отдельный объект с ключами, упомянутыми в переменной this.startMatchInput.

Ниже приведен код, который находится в функции.

function x(){
  var startMatchmasterObj = {
                'id' : '',
                'bowlingteam' : '',
                'battingteam' : ''

          };

startMatchmasterObj.id =  "943974937947";
               startMatchmasterObj.bowlingteam =  "098idsjvlnladfsj";
               startMatchmasterObj.battingteam =  "jzvlzc9a7dfs90as";

 this.startMatchInput = startMatchmasterObj; // here error is coming
}

Я присваиваю своей переменной класса локальную переменную из функции для доступа к ней извне, когда это необходимо Но сталкиваются с вышеуказанными ошибками.

Любая помощь или указатели будут высоко оценены. Я новичок в Angular 2, а также разработчик MEAN стека.

Спасибо ....

1 Ответ

0 голосов
/ 30 апреля 2018

Тип startMatchInput равен any[]. startMatchmasterObj - это объект, а не массив, поэтому их типы несовместимы, поэтому возникает ошибка. Таким образом, вы можете либо изменить тип startMatchInput на any, либо вы можете заключить startMatchmasterObj в массив, чтобы назначить его.

startMatchInput: any = {    // declare it as any, rather than any[]
   'id' : '',
   'bowlingteam' : '',
   'battingteam' : ''
};    

// or...

this.startMatchInput = [startMatchMasterObj];    // wrap in an array

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

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