Angular 2 Router错误,Route配置应该只包含一个"component","loader"或"redirectTo"属性

bor*_*net 7 angular

这是我的设置:

import {bootstrap} from 'angular2/platform/browser';
import {Component} from 'angular2/core';
import {LocationStrategy, APP_BASE_HREF, HashLocationStrategy, ROUTER_DIRECTIVES, Router, RouteConfig, ROUTER_PROVIDERS} from 'angular2/router';
import {HomeComponent} from "../components/HomeComponent";
import {provide} from "angular2/core";

@Component({
    selector: 'app',
    template: `<a [routerLink]="['/Home']">Home</a>
              <router-outlet></router-outlet>`,
    directives: [ROUTER_DIRECTIVES]
})
@RouteConfig([
    { path: '/', component: HomeComponent, name: 'HomeComponent' }
])
class RootComponent {
    constructor(router:Router) {

    }
}

bootstrap(RootComponent, [ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy})
    , provide(APP_BASE_HREF, {useValue: '/'})]);
Run Code Online (Sandbox Code Playgroud)

我一直得到这个错误,任何帮助表示赞赏

在此输入图像描述

我正在使用最新的Beta.0

问候

肖恩

Par*_*ain 0

我遇到过同样的错误,但我已经解决了这个问题,如下所示:

当我这样写代码时

{ path: '/formDemo', Component: FormDemo, name: "FormDemo"},
Run Code Online (Sandbox Code Playgroud)

它显示抛出与您遇到的相同的错误,但搜索后我发现错误存在于我的ComponentrouteConfig属性中,即Angular2认为我们在routeConfig中编写了一个组件注释,但它只接受一个加载器,组件,重定向(URL)属性。但我们已经写了其他东西,所以当我更改Component代码时component工作正常。

{ path: '/formDemo', component: FormDemo, name: "FormDemo"},
Run Code Online (Sandbox Code Playgroud)

上面的行使我的代码正常工作。它可能无助于解决您的问题,因为您已经编写了插入组件的组件,但我已将其发布给其他人,可能对其他人有帮助,谢谢