由于某种原因,该数组未传递给子组件。我错过了什么?
我的子组件:.html
<ul>
<li *ngFor="let item of items">
<a (click)="itemHasBeenClicked(item)">{{item}}</a>
</li>
<ul>
.ts
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'app-three-dots-menu',
templateUrl: './three-dots-menu.component.html',
styleUrls: ['./three-dots-menu.component.sass']
})
export class ThreeDotsMenuComponent implements OnInit {
constructor() { }
@Input()
public itemsList : string[];
ngOnInit(): void {
}
@Output()
itemClicked: EventEmitter<string> = new EventEmitter<string>();
itemHasBeenClicked(item)
{
alert(item);
this.itemClicked.emit(item);
}
}
父组件:.html
<app-three-dots-menu [itemsList]="menuItems"></app-three-dots-menu>
.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-users-table',
templateUrl: './users-table.component.html',
styleUrls: ['./users-table.component.sass']
})
export class UsersTableComponent implements OnInit {
constructor() { }
menuItems : string[] = ['New User', 'Refresh'];
ngOnInit(): void {
}
}
如果我在 ngOnInit 中初始化子组件(ThreeDotsMenuComponent)的 itemsList,它可以正常工作并显示。任何其他选项都不起作用,包括这一行
@Input()
public itemsList : ["item1","Item2"];
我确定我在某处遗漏了一件小事,我已经遵循了许多说明并在这里和其他论坛上阅读了许多帖子,但仍然卡住了。