2016-07-16 2 views
0

я получаю эту ошибку, и я не могу понять, почему:

angular.js:13708 Error: [$injector:unpr] Unknown provider: fstackProvider <- fstack <- MainController 

Вот config.js файл:

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

Вот мой app.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 файла:

<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, который я не хочу показывать в браузере. Если я сделаю это, то ххххххххххх будет доступен для людей, чтобы попасть в браузер? –

ответ

1

Я думаю, вам нужно объявить все, что вы вводите в контроллер.

Попробуйте app.controller('MainController', ['$scope', 'fstack', MainController]);

0

Определить константу перед тем контроллером.

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

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

Если я это сделаю, то xxxxxxxx будет выставлен пользователям в браузере? это ключ api. благодаря –

Смежные вопросы