访问 Angular 根组件之外的 DOM 元素



考虑这个索引.html:

<div id="test-case">
  Hello
  <button type="button">Press me</button>
</div>
<app> </app>

其中应用程序root component。是否可以从应用程序组件内部访问test-case元素并通过 Angular 方法操作button click event?我可以使用普通的Javascript,但是有没有Angular的方法呢?

你能得到的最好的就是这样的东西。不幸的是,我们仍然必须使用 全球document.querySelector .

索引.html

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>App</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
  <div id="hello">Hello</div>
  <pwpl-root></pwpl-root>
</body>
</html>

app.component.ts

import { Component, Renderer2 } from '@angular/core';
@Component({
  selector: 'app',
  template: ``,
})
export class AppComponent {
  constructor(private renderer: Renderer2) {
    const hello = document.querySelector('#hello');
    this.renderer.listen(hello, 'click', console.log);
  }
}

最新更新