如何删除类似javascript

时间:2019-01-18 17:16:32

标签: angular

删除元素但不起作用。任何人都可以解决此问题吗?

3 个答案:

答案 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)
}