我正在尝试创建一个自定义指令来学习,但无法确定为什么Angular 6中的renderer2未显示图像背景。
我使用了CLI,因此在app.module.ts中注册指令没有问题。
@Directive({
selector: '[bgIMG]'
})
export class MyCustomStyleDirective {
// private url = "http://www.publicdomainpictures.net/pictures/50000/velka/flower-meadow.jpg"
constructor(elm : ElementRef, renderer2:Renderer2) {
renderer2.setStyle(elm.nativeElement, 'background-image', 'url ("http://www.publicdomainpictures.net/pictures/50000/velka/flower-meadow.jpg")')
}
}
html
<div bgIMG></div>
我错在哪里?我也没有发现任何控制台错误。
更新
import { Directive,ElementRef, Renderer2, HostListener } from '@angular/core';
@Directive({
selector: '[bgIMG]'
})
export class MyCustomStyleDirective {
constructor( renderer: Renderer2, el: ElementRef) {
renderer.setStyle(el.nativeElement, 'background-image','http://www.publicdomainpictures.net/pictures/50000/velka/flower-meadow.jpg');
renderer.setStyle(el.nativeElement, 'font-weight','bold');
}
}
html
-----
<div class="container">
<div class="row">
<div bgIMG>
<p>some text</p>
</div>
</div>
</div>
感谢您的提前致谢。