将 DartAngular 与 dart:html 结合使用

2024-04-12

是否可以使用默认的 dart 库html有角飞镖? IE:

class Test1Component implements OnInit{
  @override
  void ngOnInit() {
    ButtonElement button = querySelector('button');
    //Broken code, avoid button to be null.
    button.onClick.listen(onClick);
  }

  void onClick(Event e){
    print('Button clicked');
  }
}

如何在不使用任何计时器的情况下避免获得“空”按钮?

基本上我只使用角度来表示路线,但我想坚持使用dart:html控制 DOM 和事件。


是的,您可以这样做,但这通常不是一个好主意。

改用@ViewChild(...)或类似的 Angular 方法来获取对组件视图中元素的引用。

<button #myButton>click me</button>
@ViewChildren('myButton')
set myButton(List<Element> value) {
  if(value.isNotEmpty) {
    print(value.first);
  }
}

如果您只想使用添加点击处理程序

<button (click)="onClick">click me</button>

将是更好的方法,但听起来您以某种方式动态添加按钮并以声明方式添加点击处理程序在这种情况下可能不起作用(需要更多信息)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 DartAngular 与 dart:html 结合使用 的相关文章

随机推荐