typescript 我无法在angular中使用服务,错误“无法读取未定义的属性'0'”

mspsb9vt  于 2023-04-22  发布在  TypeScript
关注(0)|答案(2)|浏览(131)

我创建了products组件,并希望通过服务初始化product属性,但我不能。我得到以下错误:“无法读取未定义的属性'0'中的错误”。
而如果构造函数我这样修改它:

constructor(){
     this.product = "x";
   }

它工作正常。因此,我无法使用服务成功测试。我使用的是node版本14.17.6,Angular 10.0.14
products.component.ts:

import { Component, OnInit } from '@angular/core';
import { ProductService } from './product.service';

@Component({
  selector: 'app-products',
  templateUrl: './products.component.html',
  styleUrls: ['./products.component.css']
})
export class ProductsComponent implements OnInit {
  product: string;
  constructor(productService: ProductService){
    this.product = productService.getProduct();
  }
 

  ngOnInit(): void {
    
  }

}

product.service.ts:

export class ProductService{
    getProduct() : string {
      return "Learning Angular";
    }
}

app.module.ts:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { ProductsComponent } from './products/products.component';
import { ProductService } from './products/product.service';

@NgModule({
  declarations: [
    AppComponent,
    ProductsComponent
  ],
  imports: [
    BrowserModule
  ],
  providers: [ProductService],
  bootstrap: [AppComponent]
})
export class AppModule { }
xcitsw88

xcitsw881#

您的服务缺少@Injectable()属性

ulmd4ohb

ulmd4ohb2#

谢谢你的支持。昨天我关闭了电脑,今天重新启动服务器,我发布的代码工作!

相关问题