2016-02-10 2 views
0

Я новичок в angularjs.

Я пытаюсь загрузить файл CSV. Поэтому я попытался использовать угловые файлы sanitize и ng-csv.

Index.html

<!DOCTYPE html> 
<html lang="en"> 
    <head> 

     <script src="vendor/theme_files/js/jquery.min.js"></script> 
    </head> 
    <body ng-app="myApp" class="nav-md"> 

     <div class="container body" ui-view></div> 


     <script src="vendor/angular/angular.js"></script> 
     <script src="vendor/angular-resource/angular-resource.js"></script> 
     <script src="vendor/angular-ui-router/release/angular-ui-router.js"></script> 
     <script src="js/services/lb-services.js"></script> 
     <script src="vendor/angular-sanitize/angular-sanitize.js"></script> 
     <script src="vendor/ng-csv/ng-csv.min.js"></script> 

     <script src="js/app.js"></script> 
     <script src="js/controllers/offerLetterCtl.js"></script> 
     <script src="js/services/offerLetter.js"></script> 

    </body> 
</html> 

app.js

angular.module('myApp', ['lbServices', 'ui.router']).config(['$stateProvider', '$urlRouterProvider', 
function($stateProvider, $urlRouterProvider) { 
    $stateProvider.state('login', { 
     url : '/login', 
     templateUrl : 'views/login.html', 
     controller : 'loginController' 
    }).state('addOfferletter', { 
     url : '/create_offerletter', 
     templateUrl : 'views/create_offer_letter.html', 
     controller : 'offerLetterController' 
    }); 
    $urlRouterProvider.otherwise('login'); 

}]); 

offerLetterCtl.js (папки контроллера)

angular.module('myApp').controller('offerLetterController', ['$scope', '$location', 'offerLetterService', 
    ,function($scope, $location, offerLetterService) { 
     //mycode 

}]); 

offerLetter.js (папка обслуживания)

angular.module('myApp').factory('offerLetterService', ['$q', '$timeout', '$http', 
function($q, $timeout, $http,OfferLetter) { 

     //mycode 

}]); 

create_offer_letter.html

<button type="button" ng-csv="getArray()" csv-header="['Field A', 'Field B', 'Field C']" filename="test.csv"> 
     Export 
</button> 

Я следовал этой ссылке для загрузки CSV. enter link description here

Если я включить эти строки в контроллере

['ngSanitize', 'ngCsv'] 


angular.module('myApp').controller('offerLetterController', ['$scope', '$location', 'offerLetterService',"ngSanitize", "ngCsv" 
    ,function($scope, $location, offerLetterService, ngSanitize, ngCsv) { 

     $scope.filename = "test"; 
}]); 

Сведения об ошибке:

Error: [$injector:unpr] Unknown provider: ngSanitizeProvider <- ngSanitize <- offerLetterController 
http://errors.angularjs.org/1.3.20/$injector/unpr?p0=ngSanitizeProvider%20%3C-%20ngSanitize%20%3C-"<div class="container body ng-scope" ui-view="">"fferLetterController 

ответ

0

Вы не добавляете модуль ngSanatize к вашему приложению в app.js я думаю. Попробуйте так:

angular.module('myApp', ['lbServices', 'ui.router', 'ngSanitize']).config(['$stateProvider', '$urlRouterProvider', 

функции ($ stateProvider, $ urlRouterProvider) {

Это неправильно, по крайней мере:

angular.module('myApp').controller('offerLetterController', ['$scope', '$location', 'offerLetterService',"ngSanitize", "ngCsv" ,function($scope, $location, offerLetterService) { 

Ваша ошибка состоит в том, что у вас есть 5 услуг в первой части, и вы только на самом деле вводите 3. Если вы выровняете их, то это поможет:

angular.module('myApp').controller('offerLetterController', ['$scope', '$location', 'offerLetterService',"ngSanitize", "ngCsv" ,function($scope, $location, offerLetterService, ngSanitize, ngCsv) { 

Рядом с этим это не очень т либо:

angular.module('myApp').factory('offerLetterService', ['$q', '$timeout', '$http', 
function($q, $timeout, $http,OfferLetter) { 

Вы определяете завод, названный offerLetterService, вы не хотите, чтобы вставить его там, я думаю?

+0

Помогите, пожалуйста, помочь в этом – RSKMR

+0

Необходимо изменить что-либо в служебном файле (offerletter.js) ??? – RSKMR

+0

, пожалуйста, успокойтесь. Кроме того, отредактируйте свой код, чтобы выглядеть более читаемым в вашем вопросе, некоторый код отформатирован сейчас, а некоторые строки не являются – Maarten

0

Удалены инъекции из контроллера. Это должно сработать!

angular.module('myApp').controller('offerLetterController', ['$scope', '$location', 'offerLetterService' 
    ,function($scope, $location, offerLetterService) { 

     $scope.filename = "test"; 
}]); 
Смежные вопросы