Merhaba,
.Net Core & Angular projesinde sol menüyü dinamik hale getirmek istiyorum. Gerekli servisleri .net ve angular tarafında yazdım ve SideBarMenuComponent 'inde menu:AppMenu değişkenini :
this._appNavigationService.GetUserMenu().subscribe(res => { this.menu = res; console.log("res,appmenu this.menu", res, this.menu); });
Yukarıdaki gibi set ediyorum fakat sayfa load olana kadar 74 kere aşağıdaki gibi menu items bulunamadı hatası veriyor. Bende bunu çözmek için ngif="menu" yapıyorum bu seferde sol menu hiç dolmuyor. Sadece mouse ile üzerine geldiğimde doluyor.
Bu sorunu çözmek için ne yapmalıyım ?
8 Answer(s)
-
0
Merhaba,
Peki son durumda "ngIf" kullandığınızda console'a herhangi bir log yazılıyor mu ?
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
Hayır, sadece mouse ile sol menu üzerine geldiğimde menu yu tetikleyip dolduruyor diğer turkü arkada menu içeriğini ne kadar değiştirirsem değiştireyim ekrana yansımıyor. Neyin engellediğini bir türlü bulamadık.
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
Merhaba,
Menu'yü alan kodu ngAfterViewInit içerisine alıp, onun subscribe kısmına da setTimeout kodunu taşıyabilir misiniz ?
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
ngAfterViewInit(): void { this._appNavigationService.GetUserMenu().pipe(finalize(() => setTimeout(() => { this.layoutRefService.addElement('asideLeft', this.el.nativeElement); }))) .subscribe(res => { this.menu = res; }); }yukarıdaki gibi ya da direkt olarak subscribe içerisine menuyu set ettikten sonra setTimeout konudu çalıştrdım ama bir fark olmadı. Html tarafta ngif kullandığımda hiç bir şekilde tetiklemiyor. Ngif kullanmadığımdada sürekli hata veriyor menu items null olduğu için.Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
this._appNavigationService.GetUserMenu() .subscribe(res => { this.menu = res; setTimeout(() => { this.layoutRefService.addElement('asideLeft', this.el.nativeElement); }); });Bu şekilde de bir fark olmadı maalesef.
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
Merhaba, Bu sorunu hala çözemedik.
İyi çalışmalar.
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
1
Merhaba,
Gecikme için özür dileriz, biz de daha önce bu şekilde bir kullanım denemediğimiz için biraz zamanımızı aldı çözümü bulmak.
Çözüm olarak side-bar-menu.component.ts içerisinde
changeDetection: ChangeDetectionStrategy.OnPushkısmınıchangeDetection: ChangeDetectionStrategy.Defaultolarak değiştirebilirsiniz. Bu kısmı nasıl olduysa gözden kaçırmışız.Sayfanın ilk açılışında hata almamak için de menu tanımını aşağıdaki gibi değiştirebilirsiniz:
menu: AppMenu = new AppMenu('', '', []);Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
Merhaba,
ChangeDetectionStrategy.Default olarak yaptığımızda sorun düzeldi.
Teşekkürler
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image)