自定义指令 - Angular 2/4/5
custom directive - Angular 2/4/5
目前正在使用 angular 5 cli。
我不知道为什么我的自定义指令不起作用。甚至没有在我的控制台中显示错误。我正在尝试使用某种样式来保持完整的图像宽度。
到目前为止。
import { Directive,ElementRef,Renderer } from '@angular/core';
@Directive({
selector: '[fullWidthImg]'
})
export class MyStyleDirective {
constructor(private el: ElementRef, private renderer:Renderer){
renderer.setElementStyle(el.nativeElement,'background-image', 'url("https://mdbootstrap.com/img/Photos/Horizontal/Nature/full page/img(20).jpg")')
renderer.setElementStyle(el.nativeElement,'height', '100%")')
renderer.setElementStyle(el.nativeElement,'background-position', 'center')
renderer.setElementStyle(el.nativeElement,'background-repeat', 'no-repeat')
renderer.setElementStyle(el.nativeElement,' background-size','cover')
}
}
从其他资源复制
import { Directive, ElementRef, AfterViewInit } from '@angular/core';
@Directive({
selector: '[fullWidthImg]'
})
export class MyStyleDirective implements AfterViewInit {
constructor(private elRef: ElementRef) {
}
ngAfterViewInit(): void {
this.elRef.nativeElement.style.backgroundImage = 'url("https://mdbootstrap.com/img/Photos/Horizontal/Nature/full page/img(20).jpg")';
//this.elRef.nativeElement.style.fontSize = '20px';
}
}
html
<div fullWidthImg></div>
哪里做错了。如果可能,请提供实例或良好的资源来理解自定义指令
谢谢
高度和宽度应该增加多少?
试试这个:
<div fullWidthImg [ngStyle]="{'height': '200px', 'width':'200px'}"> </div>
其余代码可以正常工作,只需更改 div 标签即可!!
这是工作示例:Image display
目前正在使用 angular 5 cli。 我不知道为什么我的自定义指令不起作用。甚至没有在我的控制台中显示错误。我正在尝试使用某种样式来保持完整的图像宽度。
到目前为止。
import { Directive,ElementRef,Renderer } from '@angular/core';
@Directive({
selector: '[fullWidthImg]'
})
export class MyStyleDirective {
constructor(private el: ElementRef, private renderer:Renderer){
renderer.setElementStyle(el.nativeElement,'background-image', 'url("https://mdbootstrap.com/img/Photos/Horizontal/Nature/full page/img(20).jpg")')
renderer.setElementStyle(el.nativeElement,'height', '100%")')
renderer.setElementStyle(el.nativeElement,'background-position', 'center')
renderer.setElementStyle(el.nativeElement,'background-repeat', 'no-repeat')
renderer.setElementStyle(el.nativeElement,' background-size','cover')
}
}
从其他资源复制
import { Directive, ElementRef, AfterViewInit } from '@angular/core';
@Directive({
selector: '[fullWidthImg]'
})
export class MyStyleDirective implements AfterViewInit {
constructor(private elRef: ElementRef) {
}
ngAfterViewInit(): void {
this.elRef.nativeElement.style.backgroundImage = 'url("https://mdbootstrap.com/img/Photos/Horizontal/Nature/full page/img(20).jpg")';
//this.elRef.nativeElement.style.fontSize = '20px';
}
}
html
<div fullWidthImg></div>
哪里做错了。如果可能,请提供实例或良好的资源来理解自定义指令
谢谢
高度和宽度应该增加多少?
试试这个:
<div fullWidthImg [ngStyle]="{'height': '200px', 'width':'200px'}"> </div>
其余代码可以正常工作,只需更改 div 标签即可!! 这是工作示例:Image display