पारित पैरामीटर में शामिल नहीं किया गया था इसलिए मुझे अपने प्रमाणीकरण सेवा के अंदर कोड का निम्न टुकड़ा मिला है।कोणीय 2: '...' के लिए रूट जेनरेटर
authentication.service.ts
: के बाद प्रवेश प्रमाणिकता की जाँच की जाती है, तो उपयोगकर्ता अपने प्रोफ़ाइल पर पुनः निर्देशित के मिल
redirectUser(username:string):void {
// Redirect user to profile on successful login
this.router.navigate(['../Profile/Feed', {username: username}]);
}
और यह सब ठीक काम किया, लेकिन जब से मैंने ProfileComponent
अंदर कुछ बच्चे मार्गों की शुरुआत की है, मैं कुछ त्रुटियों में भाग ।
app.ts
:
import {Component, ViewEncapsulation} from 'angular2/core';
import {RouteConfig,ROUTER_DIRECTIVES} from 'angular2/router';
import {HTTP_PROVIDERS} from 'angular2/http';
import {HomeComponent} from '../home/home';
import {AuthenticationService} from '../../services/authentication.service';
import {LoginComponent} from '../login/login';
import {ProfileComponent} from '../profile/profile';
import {ProfileService} from '../../services/profile.service';
@Component({
selector: 'app',
viewProviders: [AuthenticationService, ProfileService, HTTP_PROVIDERS],
encapsulation: ViewEncapsulation.None,
directives: [
ROUTER_DIRECTIVES
],
templateUrl: './components/app/app.html'
})
@RouteConfig([
{path: '/', component: HomeComponent, as: 'Home'},
{path: '/inloggen', component: LoginComponent, as: 'Login'},
{path: '/profile/:username/...', component: ProfileComponent, as: 'Profile'}
])
export class AppComponent {
...
}
आप देख सकते हैं, कुछ नए मार्गों ProfileComponent अंदर परिभाषित कर रहे हैं सभी के पहले, इस RouteConfig के साथ मेरी AppComponent है। जैसा कि यहाँ दिखाया:
ProfileComponent.ts
:
import {Component, OnInit} from 'angular2/core';
import {RouteConfig,ROUTER_DIRECTIVES, RouteParams, RouterLink, RouterOutlet} from 'angular2/router';
import {ProfileService} from '../../services/profile.service';
import {PROFILE_IMAGES} from '../../constants/constants';
import {WorkoutsComponent} from '../workouts/workouts';
import {FeedComponent} from '../feed/feed';
interface IProfileVM {
username: string;
profileUser: Object;
getProfileData(username:string): void;
}
@Component({
selector: 'profile',
templateUrl: './components/profile/profile.html',
directives: [RouterOutlet, RouterLink],
providers: [ProfileService]
})
@RouteConfig([
{path: '/nieuwsfeed', component: FeedComponent, as: 'Feed'},
{path: '/workouts', component: WorkoutsComponent, as: 'Workouts'}
])
export class ProfileComponent implements OnInit, IProfileVM {
public username:string;
public profileUser:any;
constructor(private _profileService:ProfileService,
private _params:RouteParams) {
this.username = this._params.get('username');
}
ngOnInit() {
this.getProfileData(this.username);
}
getProfileData(username) {
// Do stuff..
}
}
तो समस्या यहाँ, इससे पहले कि मैं ProfileComponent अंदर कुछ बच्चे मार्गों की शुरुआत की, सब कुछ ठीक काम किया है। उपयोगकर्ता को रीडायरेक्ट किया जाता है, यूज़रनेम यूआरएल में दिखाई देता है और यह सब ठीक था। लेकिन चूंकि मैं इन बच्चे मार्गों कहा, मैं निम्नलिखित त्रुटि मिली:
"Route generator for 'username' was not included in parameters passed."
महान किसी ने मुझसे बाहर मदद कर सकता है कर रहा है नहीं होगा !! अग्रिम में धन्यवाद!
'this.router.navigate (['../ प्रोफ़ाइल', {उपयोगकर्ता नाम: उपयोगकर्ता नाम}, 'फ़ीड'] के साथ प्रयास करें;) –
वास्तव में ?? बस यह किया .. :-) बहुत बहुत धन्यवाद !! –
हाँ, जब आपके पास '../Profile/Feed था, {उपयोगकर्ता नाम: उपयोगकर्ता नाम} 'आप' फ़ीड 'पर पैरामीटर को' प्रोफ़ाइल 'नहीं दे रहे थे। खुशी है कि यह काम किया;) –