请向我们提供以下信息:
操作系统?
Mac OSX
角-cli:1.0.0-beta.17
节点:6.7.0
操作系统:达尔文 x64
迁移 RC4 应用程序以发布。 我用 ng new 生成了一个骨架,我正在从现有项目中迁移代码。
失败给出的日志。
当我尝试去我的路线时 - 他们告诉我组件不存在
logging-error-handler.ts:58Uncaught (in promise):错误:找不到主要出口来加载'StyleGuideComponent'LoggingErrorHandler.handleError @ logging-error-handler.ts:58
logging-error-handler.ts:59Error: Uncaught (in promise): Error: Cannot find primary outlet to load 'StyleGuideComponent'
在 resolvePromise (zone.js:429)
在 zone.js:406
在 ZoneDelegate.invoke (zone.js:203)
在 Object.onInvoke (ng_zone_impl.js:43)
在 ZoneDelegate.invoke (zone.js:202)
在 Zone.run (zone.js:96)
在 zone.js:462
在 ZoneDelegate.invokeTask (zone.js:236)
在 Object.onInvokeTask (ng_zone_impl.js:34)
在 ZoneDelegate.invokeTask (zone.js:235)
这是我的 app-routing.module.ts(简化版):
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { StyleGuideComponent } from './assets/style-guide/style-guide.component';
const routes: Routes = [
{ path: '', redirectTo: '/style-guide', pathMatch: 'full' },
{ path: 'style-guide', component: StyleGuideComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
providers: []
})
export class MyAppRoutingModule { }
和我的 app.module.ts (再次,简化)
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
import { MaterialModule } from '@angular/material';
import { MyAppRoutingModule } from './app-routing.module';
import { StyleGuideComponent } from './assets/style-guide/style-guide.component';
@NgModule({
declarations: [
AppComponent,
StyleGuideComponent
],
imports: [
BrowserModule,
FormsModule,
RouterModule,
HttpModule,
MaterialModule.forRoot(),
MyAppRoutingModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
我在尝试路由到任何其他组件时遇到同样的问题....有什么想法吗?
好的,很抱歉污染了水……结果证明这是路由的行为改变。 我会把它留在这里以防它帮助别人。
我的<router-outlet>
周围有一个条件 - 这不再起作用了。
<div class="main-body" *ngIf="user && user.authorized">
<router-outlet></router-outlet>
</div>
角度/角度#11100
你需要使用路由守卫
https://angular.io/docs/ts/latest/guide/router.html#! #守卫
https://angular.io/docs/ts/latest/guide/router.html#! #resolve-guard
谢谢——乍得
最有用的评论
好的,很抱歉污染了水……结果证明这是路由的行为改变。 我会把它留在这里以防它帮助别人。
我的
<router-outlet>
周围有一个条件 - 这不再起作用了。角度/角度#11100
你需要使用路由守卫
https://angular.io/docs/ts/latest/guide/router.html#! #守卫
https://angular.io/docs/ts/latest/guide/router.html#! #resolve-guard
谢谢——乍得