尝试创建用于学习目的的自定义指令。我无法确定为什么 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")')
}
}
Run Code Online (Sandbox Code Playgroud)
<div bgIMG></div>
Run Code Online (Sandbox Code Playgroud)
哪里错了.? 我也没有发现任何控制台错误。
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>
Run Code Online (Sandbox Code Playgroud)
提前致谢
小智 2
您做得正确,但一个更正是请删除 ==> "url ()" 之间的空格,
请看下面的代码。它会为你工作。
import { Directive, ElementRef, Renderer2 } from "@angular/core";
@Directive({
selector: '[bgIMG]'
})
export class MyCustomStyleDirective {
constructor(elm : ElementRef, renderer2:Renderer2) {
renderer2.setStyle(elm.nativeElement, 'background-image', 'url(http://www.publicdomainpictures.net/pictures/50000/velka/flower-meadow.jpg)')
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2811 次 |
| 最近记录: |