0

Прошло несколько недель с этой проблемой, я новичок в Angular, поэтому надеюсь, что это простое решение.Неизвестный поставщик: 3Provider <- 3 с помощью углового бутстрапа uibModal

Я использую Angular Bootstrap Modal (ui.bootstrap.modal), и он не работает. это мой код.

На contentApp.js (с дополнительными опциями конфигурации)

angular 
    .module('contentApp', [ 
     'ui.bootstrap', 
     'ui.router', 
     'satellizer', 
     'angular-jwt', 
     'angular.morris-chart' 
    ]) 

// Additional Configuration... 

На TransModalController.js

angular 
    .module('contentApp') 
    .controller('TransModalController', TransModalController) 
    .controller('MICnewGroup', MICnewGroup) 
    .controller('MICaddTransmitter', MICaddTransmitter); 

function TransModalController($scope, $http, $uibModal, $log) { 

    $scope.openModal = function (url) { 

     var ModalInstanceController = ""; 

     if ('newGroup' == url) { 
      url = "php/modal/newGroup.html"; 
      ModalInstanceController = 'MICnewGroup' 

     } else if ('addTransmitter' == url) { 
      url = "php/modal/addTransmitter.html"; 
      ModalInstanceController = 'MICaddTransmitter' 
     }; 

     var modalInstance = $uibModal.open({    //<-- Line 26 
      animation: true, 
      templateUrl: url, 
      controller: ModalInstanceController, 
      size: 'sm', 
      resolve: { 
       user: $scope.sub 
      } 
     }); 
    }; 
} 


// Controller for Modal Instance of New Group 
function MICnewGroup($scope, $http, $state, $uibModalInstance, user) { 
    $scope.newGroup = { 
     'user': user, 
     'name': '' 
    } 

    $scope.createGroup = function() { 

     $http.post('api/user/'+$scope.sub+'/group', $scope.newGroup) 
      .then(function(data) { 
       $state.go($state.current, {}, {reload: true}); //second parameter is for $stateParams 

       $uibModalInstance.close(); 
      } 
     ); 
    } 
} 

// Controller for Modal Instance of Add Transmitter 
function MICaddTransmitter($scope, $http, $state, $uibModalInstance, user) { 
    $scope.newTransmitter = { 
     'user': user, 
     'code': '' 
    } 

    $scope.addTransmitter = function() { 

     $http.put('api/transmitter/'+$scope.newTransmitter.code, $scope.newTransmitter) 
      .then(function(data) { 
       $state.go($state.current, {}, {reload: true}); //second parameter is for $stateParams 

       $uibModalInstance.close(); 
      } 
     ); 
    } 
} 

Все это прекрасно работает на моем локальном хосте (Mac), но при загрузке на мой Сервер (Ubuntu) меня выбрасывает

angular.js:12477Error: [$injector:unpr] Unknown provider: 3Provider <- 3 
    http://errors.angularjs.org/1.4.7/$injector/unpr?p0=3Provider%20%3C-%203 
    at angular.js:68 
    at angular.js:4289 
    at Object.getService [as get] (angular.js:4437) 
    at angular.js:4294 
    at Object.getService [as get] (angular.js:4437) 
    at ui-bootstrap-tpls.js:4056 
    at Object.forEach (angular.js:350) 
    at getResolvePromises (ui-bootstrap-tpls.js:4052) 
    at Object.$modal.open (ui-bootstrap-tpls.js:4097) 
    at Scope.TransModalController.$scope.openModal (TransModalController.js:26) 

Угловая является v1.4.7, ui.bootstrap является v0.14.3

Почему это работает на моем Localhost, но не на моем сервере ?

ответ

0

Скорее всего из-за минификацию см «ноты на минификации» раздел в этом link

+0

Не используя минификацию. Кроме того, в любом случае, попробовал решения обеих ссылок; ни работали. – fglaria

+0

@fglaria Тогда почему ваши сообщения об ошибках ссылаются на ui-bootstrap-tpls.min.js? Это мини-версия библиотеки ui-bootstrap. –

+0

Неплохо, я использую Gulp, и эта ошибка изменила исходный файл из мини-версии на неминифицированную, но не изменила выходной файл, поэтому он называется .min.js, но это не так. – fglaria

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