AngularJS дождаться полной загрузки элемента - PullRequest
0 голосов
/ 24 января 2019

В настоящее время я работаю над реализацией pdftron, и похоже, что веб-обозреватель загружается недостаточно быстро в тот момент, когда веб-браузер пытается загрузить документ. Как бы вы установили какой-то готовый элемент, чтобы он ожидал, пока webViewer будет готов загрузить документ?.

    viewer = new PDFTron.WebViewer({
        path: 'WebViewer',
        type: 'html5',
        documentType: 'pdf'
    }, element);

    $scope.watch('url', function(blobVal) {
      viewer.loadDocument(blobVal);
    }

Я получаю неопределенный файл viewer.loadDocument и его, потому что программа просмотра загружена не полностью. Это случается с перерывами.

Ответы [ 3 ]

0 голосов
/ 24 января 2019

Вы можете использовать тайм-аут JavaScript.

setTimeout(function(){
       // You can write functions that will load after Angular elements.
},500);
0 голосов
/ 24 января 2019

Вы хотите дождаться события готовности к WebViever.Пожалуйста, смотрите руководство ниже: https://www.pdftron.com/documentation/web/guides/fundamentals/webviewer#details-of-instantiation

var myWebViewer = new PDFTron.WebViewer({
  initialDoc: 'mydoc.pdf',
  ui: 'legacy'
}, viewerElement);

viewerElement.addEventListener('ready', function() {
  // API functions are now ready to be called on myWebViewer
});

Пожалуйста, также смотрите следующую ссылку: https://www.pdftron.com/api/web/PDFTron.WebViewer.html#event:ready__anchor

0 голосов
/ 24 января 2019

Я считаю, что следующий код имеет больше смысла

   $scope.viewer = new PDFTron.WebViewer({
        path: 'WebViewer',
        type: 'html5',
        documentType: 'pdf'
    }, element);

    $scope.$watch('viewer', function(newVal, oldVal) {
      if (newVal instanceof Blob && newWal !== oldVal) {
        viewer.loadDocument(newVal);
      }
    }
...