【发布时间】:2016-05-19 21:26:36
【问题描述】:
我会为路由而疯狂,因为 angular2 RC1 我无法正确路由,我遇到的最后一个错误是:
异常:错误:未捕获(承诺):组件“LoginForm”确实 没有路由配置
我的代码如下(我希望看到有用的部分)
我无法理解错误消息,我想要的只是主页上的一些链接,使用“[routerLink]”路由到正确的组件(我的主要活动)
问候
注意:“/app/”只是我的应用程序 url 的基本路径(它不对应于组件)
bootstrap(AppComponent,[
ROUTER_PROVIDERS
]);
/////////////////////
@Component({
selector: 'my-app',
template: `
<navbartop></navbartop>
<h1>MAIN APP COMP</h1>
<a [routerLink]="['/app/coursesactivity']">CouresesActivity</a>
<router-outlet></router-outlet>
`,
directives: [ROUTER_DIRECTIVES, NavBarTop],
providers: [ROUTER_PROVIDERS]
})
@Routes([
{ path: '/app/login', component: LoginForm },
{ path: '/app', component: LoginForm }
])
export class AppComponent implements OnInit, OnActivate {
.....
}
/////////////////////
@Component({
selector: 'loginform',
templateUrl: '/app/components/compLoginForm/LoginForm.component.html',
styles: ['/app/components/compLoginForm/LoginForm.component.css']
})
export class LoginForm implements OnInit {//, OnActivate {
constructor(
//private _router: Router
//private _routeData: RouteData, deprecated
//private _routeParams: RouteParams deprecated
) {
}
...
}
【问题讨论】:
-
LoginForm的模板中有<router-outlet>吗?/app/**courseactivity**没有路由配置。这个routerLink应该路由到哪里? -
LogiForm html 页面中没有
指令(只是一个带有输入的简单页面),我从 @Routes 中删除了 /app/courseactivity 的路由以使代码更简单(它将是以后再推送,代码ok的时候),routerLink指向另一个组件(跟loginform无关)