2016-05-10 57 views
-1

我想使用的角度ui.bootstrap實現像this一些功能,但是這顯示了一個錯誤

[$注射器:unpr] http://errors.angularjs.org/1.5.2/ $噴射器/ unpr?P0 =%24modalProvider%20%3 C-%20%24modal%20%3 C-%20ngReallyClickDirective

我的代碼是

app.js

var app = angular.module('app',['ui.router','oc.lazyLoad','ui.bootstrap','ngReallyClickModule']); 

ngReallyClickModule.js

angular.module('ngReallyClickModule',['ui.router']) 
    .directive('ngReallyClick', ['$modal', 
     function($modal) { 

      var ModalInstanceCtrl = function($scope, $modalInstance) { 
       $scope.ok = function() { 
        $modalInstance.close(); 
       }; 

       $scope.cancel = function() { 
        $modalInstance.dismiss('cancel'); 
       }; 
      }; 

      return { 
       restrict: 'A', 
       scope:{ 
        ngReallyClick:"&", 
        item:"=" 
       }, 
       link: function(scope, element, attrs) { 
        element.bind('click', function() { 
         var message = attrs.ngReallyMessage || "Are you sure ?"; 


         var modalHtml = '<div class="modal-body">' + message + '</div>'; 
         modalHtml += '<div class="modal-footer"><button class="btn btn-primary" ng-click="ok()">OK</button><button class="btn btn-warning" ng-click="cancel()">Cancel</button></div>'; 

         var modalInstance = $modal.open({ 
          template: modalHtml, 
          controller: ModalInstanceCtrl 
         }); 

         modalInstance.result.then(function() { 
          scope.ngReallyClick({item:scope.item}); 
         }, function() { 
          //Modal dismissed 
         }); 


        }); 

       } 
      } 
     } 
    ]); 

查看

<a ng-really-message="Are you sure ?" ng-really-click="test(item)" item="item" ng-repeat="item in [1,2,3,4,5]">Delete</a> 

我要上ng-really-click點擊模態對話框。點擊模式確定按鈕,調用當前控制器的功能。

我使用angular-ui-routeroclazyLoading

+0

假設適度最新版本,它是'$ uibModal'和'$ uibModalInstance'〜https://angular-ui.github.io/bootstrap/#/modal – Phil

回答

2

答案是從錯誤中,您使用的是您還沒有定義/注入了一些供應商。

考慮到您在這裏進行了多次注射,很難確切地說出問題所在,但從您給我們的錯誤中,沒有供應商$modal。 AngularUI最近切換到uib作爲它的大部分提供商和指令的前綴(即$uibModal)。嘗試使用新版本。

https://angular-ui.github.io/bootstrap

+0

[2015年10月9日]( https://github.com/angular-ui/bootstrap/releases/tag/0.14.0)< - 不是最近。 – Phil

+0

實際上,直到V1.0.0纔會刪除對非前綴組件的支持。有一段時間的重疊讓人們有機會遷徙。 –

相關問題