【发布时间】:2019-05-08 23:16:59
【问题描述】:
我正在像这样导入 ChangeDetectorRef:
import { Component, ViewChild, ChangeDetectorRef , ElementRef } from '@angular/core';
并像这样在我的页面的构造函数中初始化更改检测器:
constructor(
...
private ref: ChangeDetectorRef
)
但是当我在回调函数中执行 detectChanges() 时:
hardResetCallback(car:Car){
this.car=car;
this.ref.detectChanges();
}
它说“无法读取未定义的属性 'detectChanges'”。我可能会错过什么?
编辑:
回调是从模态调用的。模态通过导航参数获取回调 - 在我调用的父组件中:
const resetModal : Modal = this.modal.create('CarConfigurationResetPage', { car: this.car, callback: this.hardResetCallback });
resetModal.present();
然后这就是我在模态中的获取方式:
this.callback=this.navParams.get('callback');
我在 AJAX 调用的成功方法中从模态调用回调,如下所示:
this.callback(response);
【问题讨论】:
-
您如何以及何时致电
hardResetCallback()? -
阿米特 - 见编辑
-
所以我明白回调中的“this”变量是指模态,而不是父组件。如何在回调中引用父组件?
-
为什么不将
this绑定到您的this.modal.create()? -
试试
const resetModal : Modal = this.modal.create('CarConfigurationResetPage', { car: this.car, callback: (car) => this.hardResetCallback(car) });
标签: angular ionic-framework ionic2 ionic3