2016-07-16 3 views
0

나는이 오류가 계속 왜 내가 그것을 알아낼 수 없습니다 :

angular.module("app") 
.constant("fstack", "xxxxxxxxxxxxxx"); 
: 여기
angular.js:13708 Error: [$injector:unpr] Unknown provider: fstackProvider <- fstack <- MainController 

는 config.js 파일

:

여기
(function(){ 
var app = angular.module('app', ['addCarCtrl', 'galleryCtrl','detailCtrl', 'userCtrl', 'ngRoute', 'angular-filepicker']) 
    app.controller('MainController', MainController); 
    function MainController($scope, fstack) { 
    $scope.fstack = fstack; 
    } 
    app.config(function($routeProvider, filepickerProvider){ 
     //The route provider handles the client request to switch route 
     $routeProvider.when('/addCar', { 
      templateUrl: 'partials/addCar.html', 
      controller: 'addCarController' 
     }) 
     .when('/gallery', { 
      templateUrl: 'partials/gallery.html', 
      controller: 'galleryController' 
     }) 
     .when('/detail/:id', { 
      templateUrl: 'partials/detail.html', 
      controller: 'detailController' 
     }) 
     .when('/login', { 
     templateUrl: 'partials/login.html', 
     controller: 'userController' 
     }) 
     .when('/', { 
     templateUrl: 'partials/home.html' 
     }) 
     //Redirect to addCar in all the other cases. 
     .otherwise({redirectTo:'/'}); 

     filepickerProvider.setKey('{{fstack}}'); 
}); 
})(); 

내 HTML 파일의 일부입니다 :

여기 내 app.js 파일입니다 나는 NG 컨트롤러 =를 추가 할 때 16,

<body> 
<div class="container"> 
<nav class="navbar navbar-inverse"> 
    <div class="container-fluid"> 
     <div class="navbar-header"> 
      <a class="navbar-brand" href="#">AMC MEAN app</a> 
     </div> 

     <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
      <ul class="nav navbar-nav navbar-right"> 
      <li role="presentation"><a href="/#/addCar">Add Car</a></li> 
      <li role="presentation"><a href="/#/gallery">Gallery</a></li> 
      </ul> 
     </div> 
    </div> 
</nav> 
<!-- Here is where the partials will be displayed --> 
<div ng-view ng-controller="MainController"></div> 

는 "MainController"나는이 오류가 발생합니다. 나는 $ scope.fstack에 접근하려고 노력 중이다. 그래서 MainController를 추가해야한다고 생각했다. 나는 뭘하고 있는지 알지 못하지만, 누군가가 나를 도와 줄 수있는 생각이 있다면 그것은 멋질 것이다. $scope.fstack에 포함 된 값을이 세트 키로 가져와야합니다.

filepickerProvider.setKey('{{fstack}}'); 
+0

[this] (https://docs.angularjs.org/error/$injector/unpr) 문서를 참조하십시오. –

+0

'.constant ("fstack", "xxxxxxxxxxxxxx")'를'app.js'에 추가하십시오! –

+0

xxxxxxxxxxxx는 브라우저에 공개하고 싶지 않은 api 키입니다. 그렇게하면 사람들이 브라우저에서 xxxxxxxxxxxx를 사용할 수 있습니까? –

답변

1

컨트롤러에 주입하는 모든 것을 선언해야한다고 생각합니다.

0

app.controller('MainController', ['$scope', 'fstack', MainController]); 컨트롤러 전에 일정 정의하십시오.

angular.module("app") 
    .constant("fstack", "xxxxxxxxxxxxxx"); 

     app.controller('MainController', MainController); 
     function MainController($scope, fstack) { 
     $scope.fstack = fstack; 
     } 
+0

이렇게하면 xxxxxxxx가 브라우저의 사람들에게 노출됩니까? 그것은 API 키입니다. 감사 –

관련 문제