如何在 Angular 5 中聚焦来自根组件的深层嵌套输入?

How to focus deep nested input from root component in Angular 5?

我的组件中有组件。因此,在根组件中,当我单击 .grandparent-container 中的某处时,我想将输入集中在最深的 child 中。

正如您在示例中看到的那样,我可以在页面上有多个组件。所以我只需要关注点击组件的 child 输入。这里是example

我试图创建一个 [focus] 指令,但只有当我在页面上有一个祖父母时它才有效,因为指令无法确定它应该关注的确切输入。

Select element by id 也不是这样。

我怎样才能做到这一点?

您可以使用 Observable Subject 构建一个简单的焦点消息服务。单击的控制器告诉服务它已被单击。子控制器订阅并设置焦点。组件范围提供程序的良好用例。

这是您的示例的分支。 https://stackblitz.com/edit/angular-1nbbk8