我需要一个函数来获取特定 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)
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)
| 归档时间: |
|
| 查看次数: |
4529 次 |
| 最近记录: |