Невозможно обновить переменную в угловом компоненте

Я изучаю angular, и у меня возникла проблема с обновлением переменной.

функция toggleVariable должна переключаться isUserNameEmpty, но она вообще не работает

export class ServersComponent implements OnInit {

  userName = '';
  isUserNameEmpty=true;


   onUserNameUpdate(event:any){
    this.userName = (<HTMLInputElement>event.target).value;
    this.toggleVariable( this.userName,this.isUserNameEmpty);
  }

  toggleVariable(variableName,variableToToggle){
   
    if (variableName!=''){
      console.info('not empty');
      console.info('variableName: '+variableName);
      console.info('variableToToggle: '+variableToToggle);
      variableToToggle=false;
    }
    else if (variableName==''){
      console.info('empty');
      console.info('variableName: '+variableName);
      console.info('variableToToggle: '+variableToToggle);
      variableToToggle=true;
    }
  }


  clearUserName(){
    this.userName = '';
  }

}

Почему бы не передать переменную непосредственно внутри оператора if?

Owen Kelvin 13.11.2022 18:59

Мне просто интересно

Juan Casas 13.11.2022 19:05
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
2
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не изменяете свойство isUserNameEmpty. Вы только изменяете значение variableToToggle в рамках метода. попробуй это

  toggleVariable(variableName) {

      this.isUserNameEmpty = variableName === '';

  }

так что нет способа сделать функцию, независимую от переменной класса? странно

Juan Casas 13.11.2022 19:31

@JuanCasas только объекты передаются как ссылки, примитивы передаются как значения

Fussel 13.11.2022 19:44

Есть способы сделать метод более универсальным, возвращая значение, которое затем будет использоваться для установки значения свойства, в данном случае isUserNameEmpty.

Lewis Cortright 13.11.2022 19:46

@LewisCortright на пост президента 2024!! Спасибо!!! Я добавил вас на LinkedIn!!

Juan Casas 13.11.2022 21:18

Другие вопросы по теме

Причина, по которой Angular не отображает мой вложенный компонент?
MatTooltip показывает ниже собственное диалоговое окно html
Angular — динамическое добавление/удаление нескольких экземпляров одного компонента без необходимости обновлять страницу для обновления представления
Как использовать @Input() компонента в качестве начального значения для поля ввода
Одни и те же компоненты не обновляют друг друга. Они всегда должны быть одинаковыми и иметь одинаковые значения
Почему я могу получить доступ к переменной компонента только снаружи компонента?
Как переопределить глобальный стиль из дочернего компонента и изменить область изменения только для этого компонента в angular
Применить стиль CSS к угловому компоненту изнутри компонента
Angular: динамическая установка стилей в @Component
В настоящее время у меня есть служба Angular, которая содержит необходимую мне функциональность. Как я могу заставить службу взаимодействовать с компонентом?