@mantovpinets

Как передать объект компоненту в Angular 4?

Здравствуйте.

Возникла проблема с передачей объекта компоненту через атрибут. Есть родительский компонент StudListComponent следующего вида:
<table class="table table-striped table-hover table-responsive">
                <thead>
                    <tr>
                        <td>Номер</td>
                        <td>Название курса</td>
                        <td>Начало</td>
                        <td>Конец</td>
                    </tr>
                </thead>
                <tbody>
                  <ng-container *ngFor="let course of coursesList">
                    <tr (click)="showListOfListners(course)">
                        <td>{{course.Number}}</td>
                        <td>{{course.name}}</td>
                        <td>{{course.Start | date: "dd.MM.yy"}}</td>
                        <td>{{course.Finish | date: "dd.MM.yy"}}</td>
                    </tr>
                    <tr *ngIf="course.isOpened">
                      <td colspan="4">
                       <table-list [course]={{ course }}></table-list>
                      </td>   
                    </tr>
                  </ng-container>
                </tbody>
            </table>


В этом компоненте я вызываю дочерний компонент table-list с передачей ему объекта course. Но почему-то он не передаётся хотя в компоненте я пишу вроде как нормально:

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

@Component({
	selector: "table-list",
	templateUrl: "./templates/tableList.component.html"
})

export class TableListCopmonent implements OnInit{
	@Input() course: any;

	ngOnInit(): void {
		console.log(this.course)
	}
}


Что я делаю не так и почему у меня не передаётся объект?
  • Вопрос задан
  • 797 просмотров
Решения вопроса 1
@mantovpinets Автор вопроса
В общем, сам разобрался. Может кому-то поможет. Суть в том, что объект передаётся компоненту не через итерполяцию, а напрямую:
<table-list [course]="course"></table-list>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы