1

я имею эту ошибку, когда я использовал ui.bootstrap.modal:

Error: $uibModal is undefined 

Модуль:

(function(angular) { 
    /** 
    * finanziarioTerziController 
    * 
    * a controller defined in the finanziarioTerziModule and using a sample service. 
    */ 
    angular.module('finanziarioTerziModule') 
     .controller('finanziarioTerziController', ['$scope', 'finanziarioTerziService', function ($scope, finanziarioTerziService) { 
      'use strict'; 

      $scope.elencoPatrimonioTerziCollapsed = true; 
      $scope.elencoPatrimonioTerzi = new Array(); 

      $scope.products = []; 

      $scope.productToAdd = []; 

      $scope.saveProduct = function (productToAdd) { 
       for (var i = 0; i < productToAdd.length; i++) { 
        $scope.products.push(productToAdd[i]); 
        console.log($scope.products[i]); 
       } 
       $scope.reset(); 
      }; 


      $scope.reset = function() { 
       $scope.productToAdd.length = 0; 
      }; 

      $scope.remove = function (index) { 
       $scope.productToAdd.splice(index, 1); 
      }; 

      $scope.addProduct = function() { 
       $scope.productToAdd.push({ 
        tipologia: '', 
        descrizione: '', 
        contratto: '', 
        ctv: '', 
        possesso: '' 
       }); 
      }; 

      $scope.open = function ($uibModal) { 
       var modalInstance = $uibModal.open({ 
        animation: $scope.animationsEnabled, 
        templateUrl: 'finanziarioTerziSearch.html' , 
        controller: 'finanziarioTerziModule', 
        resolve: { 
         items: function() { 
          return $scope.items; 
         } 
        } 
       }); 
      }; 
      open.$inject = '$uibModal'; 

      finanziarioTerziService.getPatrimonioTerzi().then(function (response) { 

       if (response.status != '200') { 
        console.log('status diverso da 200'); 
        return; 
       } 

       var elenco = response.data; 

       for (var i = 0; i < elenco.length; i++) { 
        $scope.elencoPatrimonioTerzi.push(elenco[i]); 
       } 
      }); 
     }]); 
})(angular); 

шаблона (.html файл)

<div class="modal-header"> 
<h3 class="modal-title">This is template 1</h3> 
</div> 
<div class="modal-body"> 
<ul> 
    <li ng-repeat="item in items"> 
     <a href="#" ng-click="$event.preventDefault(); selected.item = item">{{ item }}</a> 
    </li> 
</ul> 
Selected: <b>{{ selected.item }}</b></div> 

Кнопка (внутри другого контроллера)

<button class="btn btn-default" ng-click="open()" >Cerca Prodotto</button> 

Я пытаюсь закачиваемой $ uibModel в контроллере, но не работает Извините за мой язык, я итальянский

EDIT: в index.html

<script src="../bower_components/jquery/dist/jquery.js"></script> 
    <script src="../bower_components/angular/angular.js"></script> 
    <script src="../bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script> 
    <script src="../bower_components/angular-route/angular-route.js"></script> 
    <script src="../bower_components/angular-ui-router/release/angular-ui-router.js"></script> 

EDIT2: регулировка ng- контроллер EDIT 3: в app.js

angular.module('patrimonioApp',['ngRoute', 'ui.bootstrap', 'ui.router', 
    'commonModule', 'homeModule', 'finanziarioModule', 'polizzeModule', 'finanziarioTerziModule' ]) 
.config(['$routeProvider', function($routeProvider) { 

РЕДАКТИРОВАТЬ 4: Я решил, но теперь у меня новая ошибка

+0

Пожалуйста, поделитесь этим кодом, чтобы воспроизвести проблему, как и остальная часть контроллера, порядок скриптов и т. Д. См. [Mcve] –

+0

. Вы включили/ввели $ uibModal в контроллер – Rakeschand

+0

Вы уверены, что включили загрузку ui перед своим приложением модуль и он правильно загружается? Можете ли вы создать онлайн-демонстрацию, демонстрирующую проблему? –

ответ

3

Как я могу разобраться, порядок, в котором вы ввели зависимости в вашем контроллере, не соответствует списку параметров. Пожалуйста исправьте.

angular.module('finanziarioTerziModule') 
    .controller('finanziarioTerziController', ['$scope', 'finanziarioTerziService','$uibModal', function ($scope, $uibModal, finanziarioTerziService) { 

$ uibModal является третьим в списке инъекций, но вторым в списке параметров. Порядок должен быть таким же. PFB правильный порядок.

angular.module('finanziarioTerziModule') 
    .controller('finanziarioTerziController', ['$scope', 'finanziarioTerziService','$uibModal', function ($scope, finanziarioTerziService, $uibModal) { 

Пожалуйста, исправьте заказ и посмотрите, работает ли он. Надеюсь, так оно и есть.

+0

Я решил, но теперь у меня есть новая ошибка: $ uibModal не определен – faserx

+0

+1 Vishal за хорошие предложения. faserx, убедитесь, что у вас самая последняя версия ui-bootstrap. Зависимости изменились в последних выпусках. – Gregg

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