typescript 添加一个显式的Angular装饰器?

egdjgwm8  于 2023-03-31  发布在  TypeScript
关注(0)|答案(1)|浏览(117)

我是新的Angular ,开始添加一个新的组件使用ng生成组件“名称”它的工作正常,但当我添加implements OnInit的编译器开始抱怨,并给出
类正在使用Angular功能,但未装饰。请添加显式Angular装饰器
下面是我的代码:
import { Component,Injectable,Input,OnInit } from '@angular/core';从“./user. model”导入{ User };

@Component({
  selector: 'app-address-card',
  templateUrl: './address-card.component.html',
  styleUrls: ['./address-card.cpmponenet.css']
})
@Injectable()
export class AddressCardComponent implements OnInit{
  user: any;
 @Input('user') userDTO?: User;
  ngOnInit(): void {
    this.user = {
      name: this.userDTO?.name,
      title: this.userDTO?.designation,
      address: this.userDTO?.address,
      phone:this.userDTO?.phone
    };
  }

}

ts版本:4.8.2Angular 版本:15.2.4我已经检查了堆栈溢出,但没有任何帮助...任何建议将不胜感激。
EDIT 1:尝试创建一个新组件:TS文件看起来像这样:

@Component({
  selector: 'app-address-card',
  templateUrl: './address-card.component.html',
  styleUrls: ['./address-card.component.css']
})
export class AddressCardComponent implements OnInit{
  ngOnInit(): void {
    throw new Error('Method not implemented.');
  }

}

在“AddressCardComponent”下显示错误
类正在使用Angular功能,但未装饰。请添加显式Angular装饰器。

nmpmafwu

nmpmafwu1#

删除@Injectable()。这是一个装饰器,用于创建可以使用Angular的依赖注入系统注入到其他类中的类。它用于服务等服务。
然而,@Component是一个用于创建组件的装饰器。它用于为Angular提供有关如何创建和使用组件的信息。它用于创建包含应用程序视图的逻辑和模板的组件,您似乎正在做这件事。
详细解释如下:https://stackoverflow.com/a/36494992/15439733

相关问题