1
我做了如下指令被刷新:指令时,需要输入变化
import { Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';
import { Observable, Subscription } from 'rxjs/Rx';
@Directive({
selector: '[myDisabled]'
})
export class DisableDirective implements OnInit {
private el: HTMLElement;
@Input('myDisabled') isDisable: boolean;
constructor(el: ElementRef) { this.el = el.nativeElement;}
ngOnInit() {
this.disable();
}
private disable() {
this.isDisable ? this.el.style.opacity = '0.65' : this.el.style.opacity = '1';
}
}
此指令设置一个按钮的不透明度取决于输入:isDesable。这个设置需要在输入改变时刷新,但是,我不知道该怎么做。
我使用这个指令是这样的:
<button class="btn" [myDisabled]="!sharedDetails.isEnabled">A button !</button>
试了第二种方式,完美地工作,只需要导入OnChanges。谢谢 ! –
也尝试了第一种方式,工作以及但我需要删除设置器的“:无效” –
伟大的,感谢您的反馈(不积极使用TS自己)。 –