@green176

Как передать значение переменной из компонента в компонент Angular2?

Такое дело: Есть компонент меню
@Component({
    selector: 'menu',
    template: '<div [ngClass]="{open : menu_stat}">menu elements...</div>',
})
export class MenuComponent {
   menu_stat : boolean = false;
}

есть компонент логин панель
@Component({
    selector: 'login',
    template: `<button (click)="toggleMenu()">open<button>`,
})
export class LoginComponent {
   menu:boolean = false;
   toggleMenu(){
      this.menu = !this.menu;
   }
}


Необходимо, что бы при нажатии на кнопку в логин панели у меня отображалось меню, т.е. что бы переменная menu_stat в компоненте меню становилась true

Если можно, то на пальцах, ибо доки перерыл, и решения толком нормального не нашел
  • Вопрос задан
  • 956 просмотров
Пригласить эксперта
Ответы на вопрос 1
impwx
@impwx
Разработчик
С точки зрения архитектуры правильно было бы создать сервис с событием. Этот сервис объявлен в системе и оба компонента получают его в конструкторе с помощью dependency injection. После этого LoginComponent сможет вызвать событие, а MenuComponent - подписаться на него и обрабатывать изменения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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