Я работаю с угловымJS, и у меня есть некоторые трудности с контроллерами.angularJS контроллеры и PDF
У меня есть одна страница на этой странице У меня есть два контроллера для получения данных из веб-службы и один для отображения данных на pdfViewer.
Моя идея - запустить второй контроллер после того, как первый контроллер получит данные, потому что теперь кажется, что два контроллера запускаются одновременно, поэтому ничего не отображается.
Вот мой код для просмотра:
var seeCv = angular.module('myApp', ['ngPDFViewer']);
seeCv.controller('TestCtrl',function($http){
$http.get('some url').success(function(data){
datas = data;
});
});
seeCv.controller('VisuCvCtrl',['$scope','PDFViewerService',function($scope,pdf){
$scope.pdfURL = datas;
\t $scope.instance = pdf.Instance("viewer");
$scope.nextPage = function(){
$scope.instance.nextPage();
};
$scope.prevPage = function(){
$scope.instance.prevPage();
};
$scope.pageLoaded = function(curPage, totalPages){
$scope.currentPage = curPage;
$scope.totalPage = totalPages;
};
}]);
<div ng-controller="TestCtrl" >
<div class="container" ng-controller="VisuCvCtrl">
<button ng-click="prevPage()"><</button>
<button ng-click="nextPage()">></button>
<br>
<span>{{currentPage}}/{{totalPage}}</span>
<br>
<pdfviewer src="{{pdfURL}}" on-page-load='pageLoaded(page,total)' id="viewer"></pdfviewer>
</div>
</div>
PS: Я пытался сделать вызов веб-службы на втором контроллере, но там была ошибка с $ HTTP.
Я думаю, что не понимаю. В вашем примере у вас есть два варианта, но эти функции должны быть во втором контроллере, плюнуть или полностью в другом месте. –
@Thomasgraveleine для реализации способа, которым вы пытались, вы должны получить данные в тестовом ctrl и получить его из VisuCtrl, используя «$ scope. $ Parent». Отредактировано ответ –
Я достигаю своей цели по этой проблеме. На самом деле я получаю приложение типа данных/октет-поток, и мне просто нужно его разобрать, чтобы отобразить его с помощью pdfviewer, у кого есть ключ к этому? –