Как удалить такой же элемент, как javascript

В конкретном примере, который вы указали, инициализация s не может генерировать исключение. Таким образом, вы можете подумать, что, возможно, его область действия может быть расширена.

Но в целом выражения инициализации могут генерировать исключения. Это не имело бы смысла для переменной, инициатор которой выбрал исключение (или которое было объявлено после другой переменной, где это произошло), чтобы быть в области catch / finally.

Кроме того, пострадает читаемость кода. Правило в C (и последующие языки, включая C ++, Java и C #) просты: области переменных следуют за блоками.

Если вы хотите, чтобы переменная была в области try / catch / finally, но нигде else, затем заверните все это в другой набор фигурных скобок (пустой блок) и объявите переменную перед попыткой.

-3
задан SRANSV 19 January 2019 в 08:20
поделиться

3 ответа

Таким образом, это может быть не та проблема, которую вы пытаетесь решить, но обычно лучше использовать привязки данных для применения / изменения атрибутов. Внутри вашего класса компонента:

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>

Отключенный атрибут на кнопке «Нажать кнопку» будет следовать логической переменной buttonDisabled внутри класса компонента. [ 114]

0
ответ дан night_owl 19 January 2019 в 08:20
поделиться

Получите 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>
0
ответ дан Patryk Błaziński 19 January 2019 в 08:20
поделиться

Я думаю, что вы ищете класс API Renderer2.

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)
}
0
ответ дан Yashwardhan Pauranik 19 January 2019 в 08:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: