javascript - $scope.$apply() 在状态导航后不工作

标签 javascript html angularjs cordova

我正在使用 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/

相关文章:

javascript - 计算用户在我的网站上加载页面的次数?

javascript - 如何将点击事件添加到我在 javascript 中构建的按钮?

angularjs - 如何检测 Angular 1.5 组件路由器中的路由更改?

javascript - 从 Cordova MediaFire 上传护理文件

angularjs - 谷歌 Angular map 搜索功能的工作示例

javascript - 异步 typescript 到同步 typescript

javascript - Bootstrap 轮播 : Cannot read property 'offsetWidth' of undefined

javascript - 如何在用户确认为 false 时取消选择列表中的选定选项(取消)

javascript - 如何在 app.js 的 html 页面中隐藏 div

javascript - 用于 html div 的 Mootools Lightbox?