angular - 无法以角度从父组件访问子组件
问题描述
我是角度的新手。所以可能我只是因为缺乏经验而错过了重要的事情。请帮助我从父级访问子组件。
app.module.ts
import { FilePickerComponent } from "src/app/common/file-picker/file-picker.component";
...
@NgModule({
declarations: [
FilePickerComponent,
...
]})
export class AppModule {}
文件选择器.component.ts
...
@Component({
selector: "app-file-picker",
templateUrl: "./file-picker.component.html",
styleUrls: ["./file-picker.component.css"],
})
...
编辑器.html
<form>
...
<app-file-picker
placeholder="Image"
required>
</app-file-picker>
...
</form>
编辑器.ts
import {
Component,
OnInit,
ViewChild,
OnDestroy
} from "@angular/core";
import { FilePickerComponent } from "src/app/common/file-picker/file-picker.component";
export class Editor implements OnInit, OnDestroy {
@ViewChild(FilePickerComponent) filePicker!: FilePickerComponent;
async save() {
}
目前,当我尝试从保存中访问文件选择器时,它是未定义的。如何从 editor.ts 访问文件选择器组件?
解决方案
export class Editor implements OnInit, OnDestroy {
@ViewChild(FilePickerComponent) filePicker!: FilePickerComponent;
async save() {
}
在上面的代码中,缺少 AfterViewInit 生命周期钩子的实现。在角度文档中,它指出这个生命周期钩子很重要。
尝试更改上面的代码如下
import {
Component,
OnInit,
ViewChild,
OnDestroy,
AfterViewInit
} from "@angular/core";
export class Editor implements OnInit, OnDestroy,AfterViewInit {
@ViewChild(FilePickerComponent) filePicker!: FilePickerComponent;
async save() {
}
推荐阅读
- javascript - 背景滑块img上的下一个/上一个按钮
- highcharts - 如何在 Highcharts 上制作 3 种不同的颜色
- r - 将 Excel .xlsx 转换为 R 中的向量列表
- r - 是否可以在 R DT 包中保存编辑
- php - 比较PHP多维数组中的当前元素与前一个元素
- typescript - TypeScript 上的重载和回调
- ios - NSTimer retainCount 在失效后不为零
- amazon-web-services - 如何在动态启动的 Windows EC2 实例上处理 https / 安全 Web 套接字的 SSL 证书?
- python - 根据值对数组应用不同的函数
- javascript - Javascript:拒绝成功的承诺