我正在这样导入ChangeDetectorRef:
import { Component, ViewChild, ChangeDetectorRef , ElementRef } from '@angular/core';
并在我的页面的构造函数中初始化更改检测器,如下所示:
constructor(
...
private ref: ChangeDetectorRef
)
但是当我在回调函数中执行detectChanges()时:
hardResetCallback(car:Car){
this.car=car;
this.ref.detectChanges();
}
它说“无法读取未定义的属性'detectChanges'”。我可能会缺少什么?
编辑:
回调是从模式调用的。模态通过nav参数获取回调-在我称为的父组件中:
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 = (car:Car) => {
this.car=car;
this.ref.detectChanges();
}
使用粗箭头功能可以防止在hardResetCallback方法范围内创建“this”。
查看有关箭头功能的更多信息here.
相关报价:
关于angular - ionic , Angular -ChangeDetectorRef未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51418124/