gpt4 book ai didi

angular - 按钮@Directive通过Angular中的@Input绑定(bind)禁用属性

转载 作者:太空狗 更新时间:2023-10-29 18:12:35 27 4
gpt4 key购买 nike

我正在尝试创建一个可以通过 @Input 接收 bool 值的按钮指令并绑定(bind)到 disable <button> 的属性元素。

这是我到目前为止所得到的:

loading-button.directive.ts

@Directive({ selector: '[appLoadingButton]' })
export class LoadingButtonDirective implements OnInit {
@Input() loaderState: boolean;

constructor(private renderer: Renderer2, private el: ElementRef) { }

ngOnInit() {
this.renderer.setAttribute(this.el.nativeElement, 'disabled', this.loaderState ? 'disabled' : '');
}
}

模板

<button appLoadingButton [loaderState]="submitting"></button>

在该模板的组件中,submitting属性设置为 truefalse方便的时候。

我的问题是这样它总是被禁用,我期望禁用属性会随着指令动态变化。

任何帮助将不胜感激。

最佳答案

有多种选择。一种是使用 @HostBinding,这就是您所需要的:

@Directive({ selector: '[appLoadingButton]' })
export class LoadingButtonDirective {
@Input()
@HostBinding('disabled')
loaderState: boolean;
}

关于angular - 按钮@Directive通过Angular中的@Input绑定(bind)禁用属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50798383/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com