You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 14报错:ViewUsersComponent的userService参数无合适注入令牌

问题修复方案

错误原因及修复步骤:

  • 类型名大小写错误:构造函数中注入的服务类型写了小写的userService,但你的实际服务类是大写开头的UserService(Angular服务遵循大驼峰命名规范),这导致了“找不到名称‘userService’”和注入令牌错误。必须将类型改为UserService,同时确保已经正确导入该服务。
  • 参数拼写错误:构造函数里的activatedRouted是拼写错误,应该改为activatedRoute,和组件中使用的变量名保持一致,否则ngOnInit中访问this.activatedRoute会出现未定义问题。
  • 异步逻辑优化:原代码中viewuser的调用在params订阅之外,由于params是异步的,可能导致调用时userId还是空值,建议将服务调用移到params的回调内部。

修正后的完整代码:

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { UserService } from './path-to-user-service'; // 替换为你的UserService实际路径

export class ViewUsersComponent implements OnInit { 
  userId: any = '';

  constructor(
    private userService: UserService, 
    private activatedRoute: ActivatedRoute
  ) { } 

  ngOnInit(): void {
    this.activatedRoute.params.subscribe((data: { id: any; }) => {
      this.userId = data.id; 
      // 确保拿到userId后再调用服务
      this.userService.viewuser(this.userId).subscribe((data: any) => {
        console.log(data);
      });
    });
  }
}

内容的提问来源于stack exchange,提问作者Shuvadeep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 08:25:37