这是在使用下面的代码时"无法读取属性'推送'未定义"的错误
let deal = new Deal( 5, 'afaf', 'dafa',5,23 )
this.publicDeals.push( deal ) // gives a error saying Cannot read property 'push' of undefined(…)
Run Code Online (Sandbox Code Playgroud)
整体如下所示
export class Deal {
constructor(
public id: number,
public name: string,
public description: string,
public originalPrice: number,
public salePrice: number
) { }
}
Run Code Online (Sandbox Code Playgroud)
在另一个组件中,
import { Component, OnInit } from '@angular/core';
import { Deal } from '../deal';
import { DealService } from '../deal.service';
@Component({
selector: 'public-deals',
templateUrl: 'public-deals.component.html',
styleUrls: ['public-deals.component.css']
})
export class PublicDealsComponent implements OnInit {
publicDeals: Deal[];
constructor(
private dealService: DealService) {
}
ngOnInit(): void {
let deal = new Deal( 5, 'afaf', 'dafa',5,23 )
this.publicDeals.push( deal ) // gives a error saying Cannot read property 'push' of undefined(…)
}
purchase(item){
alert("You bought the: " + item.name);
}
}
Run Code Online (Sandbox Code Playgroud)
kit*_*kit 129
publicDeals 没有发起;
publicDeals: Deal[] = [];
Run Code Online (Sandbox Code Playgroud)
Raj*_*h.k 11
你必须使用下面的方法初始化数组:
publicDeals: Deal[] = [];
Run Code Online (Sandbox Code Playgroud)
要么
publicDeals: Deal[] = new Array();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69975 次 |
| 最近记录: |