我有典型的简单情况,但在这种情况下@Input()不工作...
子组件:
@Component({
selector: 'app-test-grid',
templateUrl: './test-grid.component.html',
styleUrls: ['./test-grid.component.scss'],
})
export class TestGridComponent implements OnInit {
@Input() memos: any[];
constructor() {
console.log(this.memos); // prints undefined
}
ngOnInit() {
console.log(this.memos); // also prints undefined
}
}
<div *ngIf="checker()">
THIS IS DISPLAYED
<app-test-grid>
[memos]="test"
</app-test-grid>
</div>
// parent component.ts
test: number[] = [1, 2, 3, 4, 5, 6, 7];
ngOnInit() {
console.log(this.test); // print [1,2,3,4,5,6,7]
}
checker() {
console.log('checker', this.test.length !== 0); // this prints true
return this.test.length !== 0;
}
这个代码有什么问题?这是非常基本的情况...我试图找到一些其他职位相关,但我没有找到答案。
1条答案
按热度按时间laawzig21#
您关闭了
app-test-grid
标记,因此memos
赋值作为组件的内容丢失。