我有这个角度代码:
myApp.controller('en', [ '$scope', 'PDFViewerService', function($scope, pdf, $ionicLoading) {
console.log('en: new instance');
$scope.pdfURL = "http://www.tafseer.info/phocadownload/copy_of_the_book/khatima.pdf";//fe.toURL();
$scope.instance = pdf.Instance("viewer");
$scope.nextPage = function() {
$scope.instance.nextPage();
};
$scope.prevPage = function() {
$scope.instance.prevPage();
};
$scope.gotoPage = function(page) {
$scope.instance.gotoPage(page);
};
$scope.pageLoaded = function(curPage, totalPages) {
$scope.currentPage = curPage;
$scope.totalPages = totalPages;
};
$scope.loadProgress = function(loaded, total, state) {
console.log('loaded =', loaded, 'total =', total, 'state =', state);
};
}]);
在我的模板中:
<button ng-click="prevPage()"><</button>
<button ng-click="nextPage()">></button>
<br>
<span>{{currentPage}}/{{totalPages}}</span>
<br>
<pdfviewer src="{{pdfURL}}" on-page-load='pageLoaded(page,total)' id="viewer"></pdfviewer>
我正在尝试使用AngularJS将PDF文件插入到我的网站中,但我仍然遇到同样的错误:
Error: $interpolate:interr Interpolation Error
为什么我会收到此错误,如何摆脱它?我想要的只是插入PDF ...
答案 0 :(得分:0)
下面的代码将依赖项注入控制器是不正确的。
myApp.controller('en', [ '$scope', 'PDFViewerService', function($scope, pdf, $ionicLoading) {
数组中的依赖项列表应完全等于函数参数 纠正它:
myApp.controller('en', [ '$scope', 'PDFViewerService', 'pdf', '$ionicLoading', function($scope, 'PDFViewerService', pdf, $ionicLoading) {
答案 1 :(得分:0)
主要问题是你得到的PDF应该在同一个来源(域)才能正常工作而不是在远程位置,你可以尝试addign $sce.trustAsResourceUrl
,但我不认为工作就足够了:
app.controller('dummy', ['$scope', 'PDFViewerService', '$sce', function ($scope, pdf, $sce) {
$scope.pdfURL = $sce.trustAsResourceUrl("http://www.tafseer.info/phocadownload/copy_of_the_book/khatima.pdf"); //fe.toURL();
...
我的建议是将PDF下载到本地目录中,然后从那里用pdfviewer打开它。