Тип 'string []' нельзя назначить типу 'string'. при использовании объекта Date - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть компонент, который получает данные из класса / модели (projInfo), включая объект даты. Мне нужно использовать разные части даты (день / месяц / год), отформатированные так, что мне нужно разбить их и поместить в массив.

Кажется, я не могу разобрать объект Date в тип string []. Вот что у меня есть:

  public _startDate = this.projInfo.startdato; //.toString();

  @Input()
  set startDate(startDate: string) {
    // remove commas then split into array
    const d: string = this.startDateFormat.replace(',', '');
    this._startDate = d.split(' ');
  }

«this._startDate» в последней строке выдает ошибку Type 'string[]' is not assignable to type 'string'.
Как мне это решить? Трудно искать ответы, потому что я думаю, что ошибка слишком велика.

1 Ответ

0 голосов
/ 05 сентября 2018

Когда вы инициализируете переменную класса и присваиваете ей значение типа

public _startDate = this.projInfo.startdato;

и this.projInfo.startdato имеет строку типа, компилятор машинописного текста примет тип _startDate также как строку. Поскольку метод split для строки: String.prototype.split () вернет массив, на который жалуется компилятор.

Вы должны решить, каким типом должна быть ваша переменная _startDate. Я не знаю, что это .projInfo.startdato, поэтому я не могу дать вам никакого решения для этого.

Как правило, вы можете инициализировать переменную с помощью следующего типа:

public _startDate: Array<string> = [this.projInfo.startdato];

И приведение типов в машинописи будет работать как

this._startDate = <string> d.split(' '); // I guess this still won't work in this case
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...