Как мы получаем доступ к значению переменной из компонента mainLayout в компоненте sideBar? - PullRequest
0 голосов
/ 16 апреля 2020

У нас есть два компонента CBGCockpit и Sidebar, компонент CBGCockpit выполняется после компонента Sidebar. В CBGCockpit переменная "userRole" имеет значение, которое мы получаем через API. Я хочу получить доступ к этому значению userRole в компоненте боковой панели.

Описание кода компонента CBGCockpit:

tempInfo() { let data = { rmId: this.storage.getItem("id") || "128395", rmType: "" }; this.service .getTempInfo(data) .then( res => { if (res) { this.userRole = res["data"]["type"].toLowerCase(); this.storage.setItem('seg', this.userRole ); } this.roleLoader = true; }, err => { this.roleLoader = true; } ) .catch(err => { this.roleLoader = true; }); }

Этот CBGCockpit является ссылкой на компонент SideBar, который будет загружен во время нажав на его ссылку.

Эта функция получает вызов от ngOnInit, и userRole устанавливает его значение в хранилище сеанса. Sidebar выполняется раньше, поэтому значение userRole в компоненте Sidebar не определено. Есть ли способ получить доступ к этому значению userRole из компонента CBGCockpit, не получив неопределенного значения.

...