Я сейчас работаю в angular 2, после сопоставления данных из бэкэнда я получаю сообщение об ошибке и пытаюсь вызвать функцию. Текст ошибки ниже
Аргумент типа '{дата: Дата; рецепты: рецепт []; } [] 'нельзя присвоить параметру типа' Day [] '.
Модель Day выглядит следующим образом:
import { Recipe } from "../recipes/recipe.model";
export class Day {
public date: Date;
public recipes :Recipe[]
constructor(date: Date, recipes ?: Recipe[]) {
this.date = date;
this.recipes = recipes;
}
getDate(){
return this.date;
}
}
Произошла ошибка в методе setDays, передано Неверный параметр У меня нет рецепта, я добавляю пустой массив типа Рецепт.
Код DaysService:
import { Injectable } from "@angular/core";
import { Subject } from "rxjs";
import { Day } from "./day.model";
@Injectable()
export class DaysService {
private startDate: Date = new Date(new Date().getTime());
private dayLongInMS: number = 86400000;
private daysShown: Array<Day> = [];
daysChanged = new Subject<Day[]>();
getDays() {
return this.daysShown.slice();
}
setDays(days: Day[]) {
this.daysShown = days;
this.daysChanged.next(this.daysShown.slice());
}
Я думаю, мне нужен какой-то метод, чтобы сгруппировать эти 2 параметра после деления, это будет тройная точка оператора (дата: дата; рецепты: рецепт [];) к одному (день []) свойство.
Я нахожу подобную проблему здесь: Аргумент типа {...} нельзя назначить параметру типа [] Но я не знаю, как использовать его в этом случае. Можешь дать мне совет?