javascript 为什么Angular 输入未定义?

n3ipq98p  于 2023-02-07  发布在  Java
关注(0)|答案(1)|浏览(101)

我有典型的简单情况,但在这种情况下@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;
  }

这个代码有什么问题?这是非常基本的情况...我试图找到一些其他职位相关,但我没有找到答案。

laawzig2

laawzig21#

您关闭了app-test-grid标记,因此memos赋值作为组件的内容丢失。

<app-test-grid [memos]="test">
</app-test-grid>

相关问题