Ionic2/Angular2:无法读取属性';推动';未定义的
我有一个问题在过去的24小时里一直困扰着我,我似乎无法集中注意力,所以任何建议都将不胜感激。我有这样一门课:Ionic2/Angular2:无法读取属性';推动';未定义的,angular,Angular,我有一个问题在过去的24小时里一直困扰着我,我似乎无法集中注意力,所以任何建议都将不胜感激。我有这样一门课: @Component({ selector: 'page-product-list', templateUrl: 'product-list.html' }) export class ProductListPage { public detailPages: ProductDetailsPage[] = []; /* Also tried:
@Component({
selector: 'page-product-list',
templateUrl: 'product-list.html'
})
export class ProductListPage {
public detailPages: ProductDetailsPage[] = [];
/* Also tried:
public detailPages: ProductDetailsPage[] = new Array<ProductDetailsPage>();
public detailPages: ProductDetailsPage[] = <ProductDetailsPage[]>[];
*/
constructor( ... ) {
/* Also tried it here:
this.detailPages = [];
and:
this.detailPages = new Array<ProductDetailsPage>();
this.detailPages = <ProductDetailsPage[]>[];
*/
}
public register(page: ProductDetailsPage) {
// This line gives an error:
// Cannot read property 'push' of undefined
this.detailPages.push(page);
}
}
@组件({
选择器:“页面产品列表”,
templateUrl:'product list.html'
})
导出类ProductListPage{
公共详细信息页面:ProductDetailsPage[]=[];
/*还尝试:
public detailPages:ProductDetailsPage[]=new Array();
公共详细信息页面:ProductDetailsPage[]=[];
*/
构造函数(…){
/*也在这里尝试过:
this.detailPages=[];
以及:
this.detailPages=新数组();
this.detailPages=[];
*/
}
公共注册(第页:ProductDetailsPage){
//这一行给出了一个错误:
//无法读取未定义的属性“push”
此.detailPages.push(第页);
}
}
我理解这个错误意味着数组还没有初始化,但为什么没有呢
我试着在构造函数中初始化它,但它仍然给我同样的错误。很明显,我搞错了,但是如果你不能在构造函数中初始化东西,那么我到底在哪里呢
提前感谢发现问题。我是从*ngFor循环内部调用register函数的,所以它是从这个范围执行的。这对我来说不是很清楚 谢谢你对我的帮助 干杯
--B如何以及在何处调用寄存器方法?