gpt4 book ai didi

angular - 无法在订阅功能中设置全局变量

转载 作者:行者123 更新时间:2023-12-02 08:06:13 24 4
gpt4 key购买 nike

我想在变量中设置服务响应以用于查看我的 TS 文件如下

MenuService 是自定义服务,geMenus() 是从数据库中获取所有菜单的函数

import { Component, OnInit } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import { MenusService } from '../menus.service';

@Component({
selector: 'app-header1',
templateUrl: './header1.component.html',
styleUrls: ['./header1.component.css'],
providers:[MenusService]
})
export class Header1Component implements OnInit {

menus=['Login','Register','Subscribe'];
primeryMenus:any;
//menus1=['Home','Matches','Players','Teams','Tournaments','Contact Us','About Us'];
constructor(private translate: TranslateService,private _ser:MenusService) {
translate.setDefaultLang('en');
}

ngOnInit(){
this.getMenu();
}
getMenu(){
this._ser.getMenus().subscribe(res=>{
this.primeryMenus = res;
console.log(this.primeryMenus) // output is json object ( getting correct output )
});
console.log(this.primeryMenus) // output is undefined

}

switchLanguage(language: string) {
this.translate.use(language);
}


}

如何在subscribe observable中设置primaryMenu

最佳答案

你的代码

this._ser.getMenus().subscribe(res=>{
this.primeryMenus = res;
console.log(this.primeryMenus) // output is json object ( getting correct output )
});
console.log(this.primeryMenus) // output is undefined

这是订阅的基本性质。回调在所有同步代码完成后执行。

使固定

仅在调用 subscribe 后使用该值。

关于angular - 无法在订阅功能中设置全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51258451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com