【发布时间】:2019-08-26 21:10:42
【问题描述】:
我正在使用cordova插件打开一个外部url并下载pdf,这将在代码中分配一个对象,这在ui中显示为文件的图标。
这在常规流程中运行良好。如果我进入下一个状态(使用 $state.go)并返回上一个屏幕并尝试做同样的事情(下载 pdf 文件),UI 不会更新但对象已分配。
我用过 $scope.$apply();用于更新 DOM。但不工作
使用promise划分函数来实现。但不工作
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();
});
});
});
【问题讨论】:
-
如果分配的对象使图标出现,则在加载控制器后尝试再次运行
$scope.$apply()。如果您收到摘要错误,请尝试将其放入setTimeout()。 -
我已经尝试过您的解决方案。但它没有工作
标签: javascript html angularjs cordova