Angular 关于 implements的使用 初级问题

logger 在 AnotherProductService中该如何声明? 自己没写对。

错误提示:
'AnotherProductService' incorrectly implements interface 'ProductService'.Property 'logger' is missing in type 'AnotherProductService'

当前代码如下:

ProductService 中:
-------------------------------
@Injectable()
export class ProductService {

constructor(private logger: LoggerService) { }

getProduct(): Product {

this.logger.log('logger getProduct方法被调用');
return new Product(0, 'iPhone9', 9899, '最新apple手机');

}

}

AnotherProductService 中:
-------------------------------
@Injectable()
export class AnotherProductService implements ProductService {
getProduct(): Product {

return new Product(1, 'Mate 10 Pro', 6888, '最新华为手机');

}

constructor() { }

}

阅读 3.4k
1 个回答

logger后加?使得logger变成可选的属性,这样AnotherProductService在implements的时候就不必一定得加上logger这个属性了
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进