我有一个使用PDF viewer-pdf angularjs制作的应用程序,此查看器使用html模板 有了自己的控制器angularjs,这个观察者想要在不同的目录中使用它(即它 全局)查看器,当我打开一个PDF目录和位置时,我工作得很好,但是当你打开另一个时 我在上一个窗口中解锁了其他加载pdf而没有打开的地方,即数据覆盖了我 有没有办法解决这个问题,在几个目录中打开相同的查看器而不影响其他目录?
答案 0 :(得分:0)
如果您使PDF查看器成为指令,您应该能够实现这一目标,因为指令在它们自己的范围内运行。
答案 1 :(得分:0)
这就是我创建服务的原因:
angular.module('myModule',['pdf']).service('pdfService', function () {
var pdfURL = "";
var defineURL = function (url) {
pdfURL = url;
};
var getURL = function () {
return pdfURL;
};
return {
defineURL: defineURL,
getURL: getURL
};
}).controller('DocControlador', ['$scope', 'pdfService', function ($scope, pdfService) {
$scope.pdfName = '';
$scope.pdfUrl = pdfService.getURL();
$scope.scroll = 0;
$scope.loading = 'cargando...';
$scope.getNavStyle = function (scroll) {
if (scroll > 100) return 'pdf-controls fixed';
else return 'pdf-controls';
}
$scope.onError = function (error) {
console.log(error);
}
$scope.onLoad = function () {
$scope.loading = '';
}
$scope.onProgress = function (progress) {
console.log(progress);
}
}])
在这里,我传递给另一个控制器的服务变量赋值:
pdfService.defineURL("\\Files\\1\\Charts\\" + $scope.fileName);