我创建了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 { }
2条答案
按热度按时间xcitsw881#
您的服务缺少
@Injectable()
属性ulmd4ohb2#
谢谢你的支持。昨天我关闭了电脑,今天重新启动服务器,我发布的代码工作!