我正在使用 cordova 插件打开外部 url 并下载 pdf,这将在代码中分配一个对象,并在 ui 中显示为文件图标。
这在常规流程中运行良好。如果我转到下一个状态(使用 $state.go)并返回到上一个屏幕并尝试执行相同操作(下载 pdf 文件),则 UI 不会更新但对象已分配。
我使用了 $scope.$apply();用于更新 DOM。但是不工作
划分了使用promises实现的功能。但不工作
window.resolveLocalFileSystemURL(destDir, function (drootDir) {
console.log('Access to the dest directory granted succesfully');
drootDir.getDirectory(destFolder, {
create: true
}, function (ddir) {
file.moveTo(ddir, destFileName, function () {
$scope.mainobject.pdfFile = {
'rootPath': destDir,
'folderPath': destFolder,
'fileName': destFileName
};
$scope.$apply();
});
});
});
最佳答案
尝试使用 $timeout
函数更新 Angular 元素。
包括在 $timeout
函数内分配对象。
关于javascript - $scope.$apply() 在状态导航后不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55527340/