0

私は既存のPHPウェブサイトを持っています。ここにはangle2コンポーネントを追加します。RC5 Angular2ルートのデフォルトコンポーネント

URLで別のコンポーネントを読み込むために、私はルータスクリプトを追加しました。

私は離れコンポーネントのページから移動すると、私はエラーError: Uncaught (in promise): Error: Cannot match any routes: 'dashboard'

次取得私は、私はこのエラーが消えるように他のコンポーネントを作成する必要があることを、理解しています。しかし、私は別のコンポーネントを作成したくありません。ページが非常に多いので、ページごとにコンポーネントを作成することになります。

コンポーネントを使用できない場合にピックアップするか、このエラーを表示させないようにするにはどのようにすればよいのか質問したいと思っていました。パス。

import { ModuleWithProviders } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router'; 
import {TestComponent} from "./test/test.component"; 


const appRoutes: Routes = [ 
    { path: 'search', component: TestComponent } 
]; 


export const appRoutingProviders: any[] = [ 

]; 

export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes); 

答えて

3

wildcard routeを追加すると、ルートが一致しない場合はデフォルトコンポーネントにリダイレクトされます。

{ path: 'default', component: DefaultComponent }, 
{ path: '**', redirectTo: '/default' } 

ルートが一致しない場合、デフォルトのコンポーネントがルータのアウトレットに読み込まれます。

これが役立ちますように!

0

私は、デフォルトルートとしてこれを使用します。

{ path: '', component: Home, text: 'Home' } 

、これは私の完全なルートである:

export const routes: TextRoute[] = [ 
    { path: '', component: Home, text: 'Home' }, 
    { path: 'accordion', component: AccordionDemo, text: 'Accordion' }, 
    { path: 'alert', component: AlertDemo, text: 'Alert' }, 
    { path: 'buttons', component: ButtonsDemo, text: 'Buttons' }, 
    { path: 'carousel', component: CarouselDemo, text: 'Carousel' }, 
    { path: 'collapse', component: CollapseDemo, text: 'Collapse' }, 
    { path: 'dropdown', component: DropdownDemo, text: 'Dropdown' }, 
    { path: 'pagination', component: PaginationDemo, text: 'Pagination' }, 
    { path: 'popover', component: PopoverDemo, text: 'Popover' }, 
    { path: 'progressbar', component: ProgressbarDemo, text: 'Progressbar' }, 
    { path: 'rating', component: RatingDemo, text: 'Rating' } 
]; 

export const AppRoutes = RouterModule.forRoot(routes, { useHash: true }); 

はgithubので私のlearning angular2プロジェクトをチェックアウト、星が歓迎されています。

+0

まだまだ、同じエラーが発生します。 – Basit

0

コメントも新しいですが、明白なバックエンドを使用しているのですか? app.use()はあなたにいくつかの問題を救えるかもしれません。代わりにルートを宣言するのは、ルート

あなたはまた、完全にわからない、PHPにあなたの特急テンプレートエンジンを変更する必要があり
router.get('name-of-url', function(res,req,next){ 
    res.sendFile(path to php file to serve) 
}) 

で、その後app.js

var routes = require('routes'); 
app.use('/name-of-url', routes) 

にしてみてください。

関連する問題