2015-12-20 8 views
11

में मार्ग मैं अपने आवेदन के लिए कोणीय 2 रूटिंग का उपयोग कर रहा हूं और यह बहुत अच्छी तरह से काम करता है लेकिन मुझे नहीं पता कि "अन्यथा" मार्ग को कैसे परिभाषित किया जाए। तो एक मार्ग जो प्रदर्शित होगा यदि कोई नहीं तो वर्तमान यूआरएल किसी भी "समर्थित" मार्ग से मेल नहीं खाता है।एंगुलर 1 के बराबर 1 अन्यथा कोणीय 2

@RouteConfig([ 
    { path: '/', name: 'Home', component: StoryComponent, useAsDefault: true }, 
    { path: '/story', name: 'Story', component: StoryComponent }, 
    { path: '/subscription', name: 'Subscription', component: SubscriptionComponent} 
]) 
+3

कि सुविधा अभी तक लागू नहीं किया गया, जांच [# 2965] (https://github.com/angular/angular/issues/2965) और [# 4055] (https://github.com/angular/angular/issues/4055) –

+0

ठीक है, धन्यवाद। – ssougnez

+0

ऐसा नहीं है कि आपके पास 'useAsDefault' क्यों है? – jornare

उत्तर

8

अभी तक कोई 'अन्यथा' कोणीय 2 में मार्ग है:

यहाँ मेरे वर्तमान विन्यास का एक उदाहरण है। लेकिन इसके साथ ही कार्यक्षमता वाइल्डकार्ड पैरामीटर का उपयोग कर हासिल किया जा सकता है, तो जैसे:

@RouteConfig([ 
    { path: '/', redirectTo: ['Home'] }, 
    { path: '/home', name: 'Home', component: HomeComponent }, 
    // all other routes and finally at the last add 
    {path: '/*path', component: NotFound} 

यह केवल 'NotFound' घटक लोड होगा और यूआरएल क्या आपके द्वारा नेविगेट के रूप में ही किया जाएगा। अन्यथा बजाय इस प्रयास करें

//at the end of the route definitions 
{ path: '/404', name: '404', component: PageNotFoundComponent }, 
{ path: '/*path', redirectTo:['404'] }` 
+0

यदि आप उपरोक्त पर रीडायरेक्ट कर रहे हैं, तो रीडायरेक्ट काम नहीं करता है। मैं केवल 'नोटफॉउंड' घटक का उपयोग करके और' राउटर 'इंजेक्शन देने का सुझाव दूंगा, ताकि आप कन्स्ट्रक्टर के अंदर रीडायरेक्ट कर सकें। – gerric

3

: मामले में आप सब '404' URL पर रीडायरेक्ट करने मार्गों मिलान नहीं करना चाहते हैं, तो आप की तरह कुछ कर सकते हैं। यह मेरे लिए काम करता है, यकीन नहीं है लेकिन काम प्रगति पर लगता है।

@RouteConfig([ 
    { path: '/**', redirectTo: ['MycmpnameCmp'] }, 
    ... 
    } 
]) 

https://github.com/angular/angular/issues/4055

7

यह वर्तमान में कोणीय 2 में सबसे अच्छा वर्तमान समाधान लागू नहीं किया गया एक समाधान का उपयोग करने के @Gary तरह से पता चला है।

{ path: '**', component: PageNotFoundComponent }

के रूप में कोणीय गाइड रूटिंग अनुभाग (https://angular.io/docs/ts/latest/guide/router.html) में दिखाया गया है।

0

इस

RouterModule.forRoot([ 
    { path: 'login', component: LoginComponent }, 
    { path: 'edit-event', component: EventComponent }, 
    { path: 'participants', component: ParticipantsComponent }, 
    { path: 'notification', component: NotificationComponent }, 
    { path: '', component: WelcomeComponent }, //default 
    { path: '**', component: WelcomeComponent } //page not found route 
], { useHash: true }) 

useHash पैरामीटर का प्रयास करें हैश यूआरएल शैली का उपयोग https://angular.io/docs/ts/latest/guide/router.html#!#route-config

1

यह मेरे लिए काम किया है:

const routes: Routes = [ 
    { path: '', redirectTo: '/home', pathMatch: 'full' }, 
    { path: 'home', component: HomeComponent }, 
    // all other routes 
    { path: '**', redirectTo: '/home' } 
]; 

@NgModule({ 
    imports: [RouterModule.forRoot(routes)], 
    exports: [RouterModule] 
}) 
export class AppRoutingModule { } 
संबंधित मुद्दे