删除元素但不起作用。任何人都可以解决此问题吗?
答案 0 :(得分:2)
获取elementRef并使用Renderer2删除属性(不建议使用Renderer)
@ViewChild('removeDisabled', {read: ElementRef}) removeDisabled:ElementRef;
constructor(private elementRef:ElementRef,private rendd:Renderer2){
}
removeDisabledfn(){
this.rendd.removeAttribute(this.removeDisabled.nativeElement, 'disabled');
}
和在模板中
<button #removeDisabled disabled>Click Button</button>
答案 1 :(得分:2)
因此,这可能不是您要解决的问题,但是通常最好使用数据绑定来应用/修改属性。在组件类内部:
export class AppComponent {
buttonDisabled = false;
toggleDisabled(){
this.buttonDisabled = !this.buttonDisabled;
}
}
并在您的html中:
<button [disabled]='buttonDisabled'>Click Button</button>
<hr>
<button (click)="toggleDisabled()">Click To Disable</button>
“点击按钮”按钮上的disabled属性将紧随组件类内部的buttonDisabled布尔变量。
答案 2 :(得分:1)
我认为您正在寻找Renderer2
API类。
removeAttribute(el: any, name: string, namespace?: string)
的Angular方法。在构造函数组件内创建Renderer2类的实例。
constructor(
private elementRef: ElementRef,
private renderer: Renderer2){
}
removeDisabledfn(){
this.renderer.removeAttribute(<refrence_of_target_element>, <attribute_name>); // attribute_name in your case --> disabled (as string)
}