dart - AngularDart NgComponent 在 Controller 中使用事件监听器

标签 dart shadow-dom angular-dart

我在 Angular Dart 中有一个 NgComponent,它实例化一个搜索框,并根据查询字符串,使用 ng-repeat 指令填充我的 html 模板中的另一个 div。

更准确地说,

查询字符串更新:我的组件 Controller 中的一个字段与输入文本值绑定(bind)。

结果人口:在attach()方法中,我添加了一个本地字段的观察器,它充当输入框的模型,每当它发生变化时,我都会向本地列表添加一些项目,这些项目然后充当另一个 div 中的 ng-repeat 指令的模型。

到目前为止,一切正常。但现在我想在我的组件中添加一些事件监听器,例如击键监听器,或者如果可能的话,在 html 模板中的特定元素上添加监听器。我使用 CSS 来实现悬停和焦点事件,还使用 ​​ng-focusng-blur 来实现简单的功能。但我不认为这可以用于击键监听器。

我想要击键监听器的原因是为了使用箭头键启用结果遍历。当光标位于输入文本框内时,我想通过按向下箭头移动到第一个结果(位于另一个 div 中),然后继续移动到其他结果。

谢谢

最佳答案

好吧,看来我终于找到了解决办法。

解决方案是使用我的组件实现 NgShadowRootAware 接口(interface),然后在 void onShadowRoot(ShadowRoot ShadowRoot) 方法中我可以完全访问在阴影内创建的 DOM dom 模板。

关于dart - AngularDart NgComponent 在 Controller 中使用事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20820745/

相关文章:

oauth - 如何从 Aqueduct 服务器获取刷新 token

serialization - Dart序列化错误:引用无效

polymer - 带 Typescript 的 LitElement,无法访问 ShadowRoot dom

javascript - 开放和封闭的shadow DOM封装方式有什么区别?

dart - 使用 Dart 在 angular2 中进行路由

android - cameras.isEmpty null flutter

dart - 如何检测抽屉是否已关闭?

javascript - 访问 ShadowRoot 或 DOM(例如 querySelector)v 缓存变量对性能的影响?

dart - 在AngularDart应用程序中包含Bootstrap的最佳方法

angular - 使用 Route 代替 *ngIf 来控制 Angular View Component 的优势?