ट्रिगर करते समय मैं एक घटक दृश्य को रीफ्रेश कैसे करूं मेरे पास एक सरल Angular.io ऐप है। (कोणीय-क्ली/4.1.0)कोणीय।/कोणीय 4. एक और
मेरे पास एक NavbarComponent है जो उपयोगकर्ता नाम प्रस्तुत करता है।
ऐप तक पहुंचने पर पहली बार जब मैं लॉग इन नहीं होता हूं और मेरा ऐप LoginComponent पर रीडायरेक्ट करता है। मेरा नवबार भी प्रस्तुत किया गया है लेकिन उपयोगकर्ता नाम के बिना। सफल लॉगिन के बाद मुझे अपने होमकंपेंट पर रीडायरेक्ट कर दिया गया है।
और यहां समस्या है। मेरा नवबार उपयोगकर्ता नाम नहीं दिखाता है। लेकिन अगर मैं रीफ्रेश/ctrl + r उपयोगकर्ता नाम प्रदान करता हूं।
क्या गलत है?
app.component.html
<nav-bar></nav-bar>
<router-outlet></router-outlet>
navbar.compoment.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'nav-bar',
templateUrl: './navbar.component.html',
styleUrls: ['./navbar.component.css']
})
export class NavbarComponent implements OnInit {
me;
ngOnInit() {
this.me = JSON.parse(localStorage.getItem('currentUser'));
}
}
login.component.ts
import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { AlertService, AuthenticationService } from '../_services/index';
@Component({
moduleId: module.id,
templateUrl: 'login.component.html'
})
export class LoginComponent implements OnInit {
model: any = {};
loading = false;
returnUrl: string;
constructor(
private route: ActivatedRoute,
private router: Router,
private authenticationService: AuthenticationService,
private alertService: AlertService) { }
ngOnInit() {
// reset login status
this.authenticationService.logout();
// get return url from route parameters or default to '/'
this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
}
login() {
this.loading = true;
this.authenticationService.login(this.model.email, this.model.password)
.subscribe(
data => {
this.router.navigate([this.returnUrl]);
},
error => {
this.alertService.error(error);
this.loading = false;
this.errorMsg = 'Bad username or password';console.error('An error occurred', error);
});
}
}
आप AJT_82 और @JusMalcolm धन्यवाद। मैं यहां आपके सुझावों का प्रयास करूंगा, मुझे लगता है कि आपके द्वारा उल्लिखित साझा सेवा "जाने का सर्वोत्तम अभ्यास" तरीका हो सकता है। हालांकि मुझे लगता है कि यह एक शर्म की बात है कि ऐसा करने के लिए एक और अधिक व्यावहारिक (पढ़ना आसान नहीं) तरीका है। आपको एक प्रकार का ज़ोन रीफ्रेश या ऐप। मॉड्यूल रीफ्रेश करने में सक्षम होना चाहिए जो मार्ग को देखता है और मार्ग में सभी घटकों को पुनः लोड करता है। – ChrisWorks
आरएक्सजेएस का सुझाव देने के लिए धन्यवाद आदमी! –