Angular 2 Uncaught(in promise):TypeError:无法读取未定义的属性“isActivated”

前端之家收集整理的这篇文章主要介绍了Angular 2 Uncaught(in promise):TypeError:无法读取未定义的属性“isActivated”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我返回到相同的路由路径,它会显示错误

“未保留(承诺):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造成的.

我把一个微调器组件从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个返回的元素应该能够从那里调试问题.在我的情况下,这只是在微调器显示时才显示出来,所以如果您的组件在您的页面上进行,请尝试打破每个显示/隐藏.

猜你在找的Angularjs相关文章