Angular 2:获取特定 div 内的所有 <img> 标签

Mur*_*sli 2 angular

我需要一个函数来获取特定 div 中的所有图像,我尝试使用BrowserDomAdapter但它抛出了这个错误el.querySelector is not a function,事实上我没有el在我的组件中声明任何变量

import { BrowserDomAdapter} from '@angular/platform-browser/src/browser/browser_adapter';
...
...
constructor(private dom:BrowserDomAdapter){
}
ngAfterContentInit(){
    this.lightboxImages();
}
lightboxImages(){
    let dom = new BrowserDomAdapter();
    let images = dom.querySelector('img','.post-body');
    console.log(images);
}
Run Code Online (Sandbox Code Playgroud)

更新

如果我在<img>变量中有标签,我如何从中获取图像?

export class Post{

   post:Post;

   @Input()
   set data(data:any) {
     this.post = new Post(data); 
     this.lightboxImages(this.post.content());
   }

   lightboxImages(content:any){
       let images = content. ???
       console.log(images);
   }
}
Run Code Online (Sandbox Code Playgroud)

Gün*_*uer 5

BrowserDomAdapter不应该被使用。它仅供 Angular 内部使用。

我假设您要查询作为子项传递的元素,因为您使用ngAfterContentInit

@Component({
  ...
  template: `
  ...
  <div #wrapper>
    <ng-content></ng-content>
  </div>
  ...
`
})
export class MyComponent {
  @ViewChild('wrapper') wrapper:ElementRef;
  ngAfterContentInit(){
    this.lightboxImages();
  }
  lightboxImages(){
    let images = this.wrapper.nativeElement.querySelector('img','.post-body');
    console.log(images);
  }
}
Run Code Online (Sandbox Code Playgroud)