Angular学习第三天--问题记录

问题一、

1.问题:

An unhandled exception occurred: Unexpected token '??='
See "C:\Users\22895\AppData\Local\Temp\ng-D60bgy\angular-errors.log" for further details.

2.原因:

node版本过低,项目中angular是17,而我的node是14版本。

3.解决办法:

使用nvm来将node版本升级。

问题二、

1.问题(在学习nxjs里的路由守卫canDeactivate中遇到的):

Angular学习第三天--问题记录_第1张图片

2.原因:

尝试在不使用new关键字的情况下实例化了一个而这个类被用作路由导航守卫(Navigation Guard)

3.解决办法:

使用依赖注入来提供unsaveGuard的实例,确保在提供者(providers)数组中正确配置了它,并且你的模块导入了RouterModule

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  providers: [unsaveGuard],
  exports: [RouterModule]
})

之前尝试过别的解决方法(直接在canDeactivate里面new一个类的实例),但都以失败告终:

  {
    path: 'home',
    component: HomeComponent,
    children: [
      {
        path: 'child',
        component: ChildComponent
      }
    ],
    canDeactivate: [new unsaveGuard()]
  }

你可能感兴趣的:(angular,angular.js,学习,javascript)