Угловая ошибка: не удается разрешить все параметры для компонента - PullRequest
0 голосов
/ 08 мая 2018

Я выполняю угловое упражнение для курса Удеми и столкнулся с проблемой, которую не могу решить. Я пытаюсь создать объект ClickComponent с уникальным идентификатором, чтобы у каждого была следующая итерация (т. Е. 1, 2, 3 и т. Д.). Однако я получаю вышеуказанную ошибку, когда пытаюсь добавить параметры в конструктор, чтобы получить этот идентификатор из класса, который его вызывает. Вот два соответствующих файла:

app.component.ts

import { Component } from '@angular/core';
import {ClickComponent} from './click/click.component';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  display = false;
  clicks = [];

  toggleDisplay() {
    this.clicks.push(new ClickComponent(this.clicks.length + 1));
    this.display = !this.display;
  }
}

click.component.ts

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

@Component({
  selector: 'app-click',
  templateUrl: './click.component.html',
  styleUrls: ['./click.component.css']
})
export class ClickComponent implements OnInit {
  id;
  timeStamp;

  constructor(id: number) {
    this.id = 0;
    this.timeStamp = new Date();
  }

  ngOnInit() {
  }

}

Ошибка исчезнет, ​​если я удаляю параметр из конструктора click и просто устанавливаю id на 0, так что это явно связано с тем, как я настроил этот конструктор, но я не понимаю, что не так, как я » м совершенно новый для Angular. Спасибо.

1 Ответ

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

Я думаю, что вы не должны помещать идентификатор в конструктор, а ставить @Input () перед полем идентификатора.
Именно так параметры передаются от родителя к ребенку в угловом формате.

Отредактировано:
Если вы хотите знать, как передавать параметры динамически созданному компоненту, взгляните на этот другой поток: Angular2 - передача значений в динамический компонент, созданный с помощью ComponentFactory

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