Angularjs:错误:$ interpolate:interr插值错误

时间:2015-10-18 07:34:50

标签: angularjs

我有这个角度代码:

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()">&lt;</button>
<button ng-click="nextPage()">&gt;</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 ...

2 个答案:

答案 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打开它。