我在 Angular Dart 中有一个 NgComponent
,它实例化一个搜索框,并根据查询字符串,使用 ng-repeat
指令填充我的 html 模板中的另一个 div。
更准确地说,
查询字符串更新:我的组件 Controller 中的一个字段与输入文本值绑定(bind)。
结果人口:在attach()
方法中,我添加了一个本地字段的观察器,它充当输入框的模型,每当它发生变化时,我都会向本地列表添加一些项目,这些项目然后充当另一个 div 中的 ng-repeat 指令的模型。
到目前为止,一切正常。但现在我想在我的组件中添加一些事件监听器,例如击键监听器,或者如果可能的话,在 html 模板中的特定元素上添加监听器。我使用 CSS 来实现悬停和焦点事件,还使用 ng-focus
和 ng-blur
来实现简单的功能。但我不认为这可以用于击键监听器。
我想要击键监听器的原因是为了使用箭头键启用结果遍历。当光标位于输入文本框内时,我想通过按向下箭头移动到第一个结果(位于另一个 div 中),然后继续移动到其他结果。
谢谢
最佳答案
好吧,看来我终于找到了解决办法。
解决方案是使用我的组件实现 NgShadowRootAware
接口(interface),然后在 void onShadowRoot(ShadowRoot ShadowRoot)
方法中我可以完全访问在阴影内创建的 DOM dom 模板。
关于dart - AngularDart NgComponent 在 Controller 中使用事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20820745/