Javascript 离子2:来自img的src未更新
在Ionic 2中,Javascript 离子2:来自img的src未更新,javascript,angularjs,cordova,ionic-framework,ionic2,Javascript,Angularjs,Cordova,Ionic Framework,Ionic2,在Ionic 2中, 如果我将化身路径设置在回调之外,它就会工作 document.getElementById("myimg").src = 'data:image/png;base64,' + imageBase64; 视图似乎没有在回调中更新。在Ionic 1中,我会尝试重新渲染它,处理$scope或类似的内容,但我不知道Ionic 2的最佳实践是什么。您需要运行this.avatar\u path='数据:image/png;base64,'+imageBase64在NgZone内 请
如果我将化身路径设置在回调之外,它就会工作
document.getElementById("myimg").src = 'data:image/png;base64,' + imageBase64;
视图似乎没有在回调中更新。在Ionic 1中,我会尝试重新渲染它,处理$scope或类似的内容,但我不知道Ionic 2的最佳实践是什么。您需要运行this.avatar\u path='数据:image/png;base64,'+imageBase64代码>在NgZone内
请尝试以下代码:
this.avatar_path = 'data:image/png;base64,someharcodedbase64data';
您需要运行this.avatar\u path='数据:image/png;base64,'+imageBase64代码>在NgZone内
请尝试以下代码:
this.avatar_path = 'data:image/png;base64,someharcodedbase64data';
你能解释一下原因吗如果我也在指令中塞迪特:这实际上把我引向了正确的方向,而且成功了。也许会有帮助。另外,您应该将语法更新为当前Angular 2:从“@Angular/core”导入{NgZone}
您能解释一下原因吗如果我也在指令中塞迪特:这实际上把我引向了正确的方向,而且成功了。也许会有帮助。另外,您应该将语法更新到当前Angular 2:import{NgZone}from'@Angular/core'
this.avatar_path = 'data:image/png;base64,someharcodedbase64data';
import {NgZone} from 'angular2/core';
...
constructor(_zone: NgZone) {
this._zone = _zone;
}
...
navigator.camera.getPicture( imageBase64 => {
this._zone.run(() => {
this.avatar_path = 'data:image/png;base64,' + imageBase64;
});
}