ionic3 双向数据绑定失效 脏值检测失效

最近在使用ionic3过程中,使用了eval()方法进行字符串拼接成一个function使用

在eval()方法中,只能使用局部变量,全局变量无法使用,ionic3的this在eval中失效(undefined)

同时,在eval()方法拼接起来的function中,调用自定义的function,同样也无法使用this(全局变量)

因为eval()方法,ionic3的脏值检测失效,当this中的值改变时,需要在页面回显的值没办法跟着改变

因此,需要手动提醒数据刷新

所以,找到了 ChangeDetectorRef


使用方法很简单:

import { ChangeDetectorRef} from '@angular/core';
constructor(public changeDetectorRef:ChangeDetectorRef) {}

具体在代码中使用:

var that=this //将this(全局变量)赋给that,that代替this进行赋值改变

that.changeDetectorRef.detectChanges() //在赋值之后使用,提醒数据源改变,需要刷新
原文地址:https://www.cnblogs.com/zhichong/p/10042588.html