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

时间:2018-04-12 15:41:16

标签: javascript html angular focus

我在组件中有组件。所以在根组件中,当我点击.grandparent-container中的某个地方时,我想将输入集中在最深的孩子身上。

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

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

按ID选择元素也不是这样。

我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:1)

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

这是你的例子的一个分支。 https://stackblitz.com/edit/angular-1nbbk8