如果我返回到相同的路由路径,它会显示错误
“未保留(承诺):TypeError:无法读取属性’isActivated’未定义”.
但不能在第一时间显示.可以帮我吗
路由
const mainRoutes: Routes = [ { path: '',pathMatch: 'full',redirectTo: '/home' },{ path: 'home',loadChildren: './apps/home/home.module#HomeModule',canActivate: [AuthGuard],resolve: { crisis: NavigarionResolve } } { path: '**',component: PageNotFoundComponent } ];
零件
import { Component,OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { AuthService } from '../main/service/auth.service'; @Component({ selector: 'home-app',templateUrl: 'apps/home/view/home.component.html',providers: [AuthService] }) export class HomeComponent implements OnInit { loaded: boolean = false; title = 'Customer Management Home'; slogan = 'Hi ...Home '; views: Object[] = []; constructor(private _authService: AuthService,private router: Router) { this.views = [ { name: "My Account",description: "Edit my account information",icon: "assignment ind" },{ name: "Potential dates",description: "Find your soulmate!",icon: "pets" } ]; } logout() { this._authService.logout().then(() => { this.router.navigate(['/login']); }); } ngOnInit() { } }
Navigarion
this.router.navigate(['/home']);
对我来说,问题是被加载的应用程序的第二个实例.
这是由“控件”组件中的无效templateUrl造成的.
这是由“控件”组件中的无效templateUrl造成的.
我把一个微调器组件从app / components / client / spinner.component移动到app / components / shared / spinner.component,但忘了更新templateUrl.
这意味着我的微调器正在使用错误的HTML加载到我的其他组件内.我在module.ts中使用了组件的正确路径,所以它并没有抛出任何构建错误,但是当找不到spinner.component.html时,mvc6返回了默认的索引页面,所以试图从组件内部加载整个应用程序.当我的内容加载后,移除微调器后,该内部应用程序就被删除.
我完全不了解它,但似乎路由器有一些冲突,因为该应用程序从内部重新加载.
在我的情况下,我很幸运地注意到我的应用程序是glitching,所以我在毛刺部分暂停了javascript并扫描html,并注意到有一个< html>标记在我的微调器内.
尝试在app.component类中设置一个断点,看看它是否被打两次,或者在控制台中运行document.getElementsByTagName(“my-app”)(或者你的app.component被调用),如果你有超过1个返回的元素应该能够从那里调试问题.在我的情况下,这只是在微调器显示时才显示出来,所以如果您的组件在您的页面上进行,请尝试打破每个显示/隐藏.