Javascript 如何在初始化时或在初始化后获取子组件名称?
我一直在研究Angular的,同时寻找一种方法来知道何时以及哪些子组件被加载 我看到Javascript 如何在初始化时或在初始化后获取子组件名称?,javascript,angular,components,application-lifecycle,Javascript,Angular,Components,Application Lifecycle,我一直在研究Angular的,同时寻找一种方法来知道何时以及哪些子组件被加载 我看到ngAfterViewInit() “在Angular初始化组件的视图和子视图后响应 观点。” 既然ngAfterViewInit知道这些孩子的情况,我如何在他们初始化时(或之后)获取他们的标识信息 类似于以下伪代码: // ngAfterViewInit() - Respond after Angular initializes the component's views and child views. ex
ngAfterViewInit()
“在Angular初始化组件的视图和子视图后响应
观点。”
既然ngAfterViewInit知道这些孩子的情况,我如何在他们初始化时(或之后)获取他们的标识信息
类似于以下伪代码:
// ngAfterViewInit() - Respond after Angular initializes the component's views and child views.
export class AppComponent implements AfterViewInit {
ngAfterViewInit() {
console.log(‘Children should be loaded');
// loop through ngAfterViewInit
querySelector('body').classList.add(ngAfterViewInit[i].componentName);
}
}
旁注:目标是将组件名称或选择器名称添加到
的类列表中。这是什么?识别信息据我所知,为了让组件彼此通信,您需要使用@Output
属性。当子组件初始化时,您可以广播父组件订阅的事件。但是考虑到您正在尝试执行的操作,我想知道您是否可以命名子组件并在标记中直接引用它们。你能提供一些你想做的事情的代码片段吗?嘿@JakeSmith这就是我开始做的地方,但事实证明,生命周期挂钩没有使用@input
和@output
。我不想在我的应用程序中的每个组件上都设置I/O,如果不需要的话,只是为了获得名称。(我将用一些psuedo代码更新问题)明白了。我想如果我对你的代码了解多一点的话,我会帮上大忙的。如果组件没有动态加载,您应该能够执行类似于
的操作,然后在您的body标签上:…
这是什么?识别信息据我所知,为了让组件彼此通信,您需要使用@Output
属性。当子组件初始化时,您可以广播父组件订阅的事件。但是考虑到您正在尝试执行的操作,我想知道您是否可以命名子组件并在标记中直接引用它们。你能提供一些你想做的事情的代码片段吗?嘿@JakeSmith这就是我开始做的地方,但事实证明,生命周期挂钩没有使用@input
和@output
。我不想在我的应用程序中的每个组件上都设置I/O,如果不需要的话,只是为了获得名称。(我将用一些psuedo代码更新问题)明白了。我想如果我对你的代码了解多一点的话,我会帮上大忙的。如果组件没有动态加载,您应该能够执行类似于
的操作,然后在您的body标签上:…