2016-07-08 10 views
4

私は角2 を勉強していますので、私は単一ページのアプリケーションを作るために、複数のhtmlページをレンダリングしたい ので、私が作りました。それ。 しかし、私は、ルーティングの問題を得た。この例外:エラー:(約束で)キャッチされない:エラー:任意のルートを照合することはできません:「」」

EXCEPTION: Error: Uncaught (in promise): Error: Cannot match any routes: '' 
platform-browser.umd.js:1900 EXCEPTION: Error: Uncaught (in promise): Error: Cannot match any routes: ''BrowserDomAdapter.logError @ platform-browser.umd.js:1900BrowserDomAdapter.logGroup @ platform-browser.umd.js:1910ExceptionHandler.call @ core.umd.js:4329(anonymous function) @ core.umd.js:9813schedulerFn @ core.umd.js:6699SafeSubscriber.__tryOrUnsub @ Subscriber.ts:240SafeSubscriber.next @ Subscriber.ts:192Subscriber._next @ Subscriber.ts:133Subscriber.next @ Subscriber.ts:93Subject._finalNext @ Subject.ts:154Subject._next @ Subject.ts:144Subject.next @ Subject.ts:90EventEmitter.emit @ core.umd.js:6687NgZone._zoneImpl.NgZoneImpl.onError @ core.umd.js:9249NgZoneImpl.inner.inner.fork.onHandleError @ core.umd.js:9121ZoneDelegate.handleError @ zone.js:327Zone.runGuarded @ zone.js:233_loop_1 @ zone.js:487drainMicroTaskQueue @ zone.js:494ZoneTask.invoke @ zone.js:426 
platform-browser.umd.js:1900 STACKTRACE:BrowserDomAdapter.logError @ platform-browser.umd.js:1900ExceptionHandler.call @ core.umd.js:4331(anonymous function) @ core.umd.js:9813schedulerFn @ core.umd.js:6699SafeSubscriber.__tryOrUnsub @ Subscriber.ts:240SafeSubscriber.next @ Subscriber.ts:192Subscriber._next @ Subscriber.ts:133Subscriber.next @ Subscriber.ts:93Subject._finalNext @ Subject.ts:154Subject._next @ Subject.ts:144Subject.next @ Subject.ts:90EventEmitter.emit @ core.umd.js:6687NgZone._zoneImpl.NgZoneImpl.onError @ core.umd.js:9249NgZoneImpl.inner.inner.fork.onHandleError @ core.umd.js:9121ZoneDelegate.handleError @ zone.js:327Zone.runGuarded @ zone.js:233_loop_1 @ zone.js:487drainMicroTaskQueue @ zone.js:494ZoneTask.invoke @ zone.js:426 
platform-browser.umd.js:1900 Error: Uncaught (in promise): Error: Cannot match any routes: '' 
    at resolvePromise (zone.js:538) 
    at zone.js:515 
    at ZoneDelegate.invoke (zone.js:323) 
    at Object.NgZoneImpl.inner.inner.fork.onInvoke (core.umd.js:9100) 
    at ZoneDelegate.invoke (zone.js:322) 
    at Zone.run (zone.js:216) 
    at zone.js:571 
    at ZoneDelegate.invokeTask (zone.js:356) 
    at Object.NgZoneImpl.inner.inner.fork.onInvokeTask (core.umd.js:9091) 
    at ZoneDelegate.invokeTask (zone.js:355)BrowserDomAdapter.logError @ platform-browser.umd.js:1900ExceptionHandler.call @ core.umd.js:4332(anonymous function) @ core.umd.js:9813schedulerFn @ core.umd.js:6699SafeSubscriber.__tryOrUnsub @ Subscriber.ts:240SafeSubscriber.next @ Subscriber.ts:192Subscriber._next @ Subscriber.ts:133Subscriber.next @ Subscriber.ts:93Subject._finalNext @ Subject.ts:154Subject._next @ Subject.ts:144Subject.next @ Subject.ts:90EventEmitter.emit @ core.umd.js:6687NgZone._zoneImpl.NgZoneImpl.onError @ core.umd.js:9249NgZoneImpl.inner.inner.fork.onHandleError @ core.umd.js:9121ZoneDelegate.handleError @ zone.js:327Zone.runGuarded @ zone.js:233_loop_1 @ zone.js:487drainMicroTaskQueue @ zone.js:494ZoneTask.invoke @ zone.js:426 
zone.js:461 Unhandled Promise rejection: Cannot match any routes: '' ; Zone: angular ; Task: Promise.then ; Value: Error: Cannot match any routes: ''(…)consoleError @ zone.js:461_loop_1 @ zone.js:490drainMicroTaskQueue @ zone.js:494ZoneTask.invoke @ zone.js:426 
zone.js:463 Error: Uncaught (in promise): Error: Cannot match any routes: ''(…)consoleError @ zone.js:463_loop_1 @ zone.js:490drainMicroTaskQueue @ zone.js:494ZoneTask.invoke @ zone.js:426 

main.tsファイルが

import { bootstrap } from '@angular/platform-browser-dynamic'; 
import { AppComponent } from './app.component'; 
import { APP_ROUTER_PROVIDERS } from './app.routes'; 


bootstrap(AppComponent, [ 
    APP_ROUTER_PROVIDERS 
]); 

と私のapp.routesあるよう が、それは私にエラーを示しています。 tsが

import { provideRouter, RouterConfig } from '@angular/router'; 
import { AboutComponent } from './about/about.component'; 

    export const routes: RouterConfig = [ 
{ 
    path : 'about', 
    component : AboutComponent 
} 
]; 

export const APP_ROUTER_PROVIDERS = [ 
    provideRouter(routes) 
]; 

私app.component.tsファイルが

import { Component }  from '@angular/core'; 
import { AboutComponent } from './about/about.component'; 
import { ROUTER_DIRECTIVES } from '@angular/router'; 



@Component({ 
    selector: 'my-app', 
    template: ` 
    <h1> this is our app.component.ts</h1> 
    <h2>{{title}}</h2> 

    <a [routerLink]="['/about']">ABOUT ADSELINT</a> 
    <router-outlet></router-outlet> 

     `, 
    directives: [ROUTER_DIRECTIVES] 

}) 
export class AppComponent { 
    title = 'app.component'; 
} 

私about.component.tsある

import { Component } from '@angular/core'; 



@Component({ 
    selector: 'my-about', 
    templateUrl : 'app/about/about.html' 

}) 
export class AboutComponent { 
    abt = 'ABOUT '; 
} 

と about.htmlが

<h1>hello</h1> 
が含まれています

それはpropeを示すローカルホストだけをロードしている間、app.component.tsは上記のエラーを表示します。

答えて

7

問題はこの

あなたをロードすると、アプリURLはlocalhostですです:3000、したがって、あなたがパスでデフォルトのパスであるパスを提供する必要があります:「を」ので、このパスを提供していませんこのエラーは発生しています。

ソリューション app.routes.tsファイルに以下のパスを追加します

app.routes.ts

import { provideRouter, RouterConfig } from '@angular/router'; 
import { AboutComponent } from './about/about.component'; 
import {AppComponent} from './app.component'; 

export const routes: RouterConfig = [ 
    { 
    path: '', 
    redirectTo: '/about', 
    pathMatch: 'full' 
    }, 
{ 
    path : 'about', 
    component : AboutComponent 
} 
]; 

export const APP_ROUTER_PROVIDERS = [ 
    provideRouter(routes) 
]; 

そして、あなたの問題は、私は完全には従わない

+0

を解決しますそれは私のすべてのエラーを取り除いてしまった。 – Winnemucca

関連する問題