2016-05-03 19 views
1

在基礎上爲應用程序的Web應用程序後未知的供應商,我在我的控制文件中的下列指令來觸發滾動一些行動:爲指導構建

(function() { 
    'use strict'; 

    angular.module('application').controller('MeetingRoomsCtrl', ['$scope', '$timeout', 'facilities', 'items', '$state', '$window', 
     function($scope, $timeout, facilities, items, $state, $window, foundation, ModalFactory, NotificationFactory) { 
      // controller code ... 
     } 
    ]) 
    .directive('scroll', function($window, $document, $timeout) { 
     return function(scope, element, attrs) { 
      var grid_content = document.querySelectorAll('.grid-content')[0]; 
      var stickyFunction = function() { 
       // doing stuffs ... 
       scope.$apply(); 
      }; 
      angular.element(grid_content).bind("scroll", stickyFunction); 
     }; 
    }); 
})(); 

其中關於非縮小的/內置應用程序的偉大工程。但是,當我建立使用foundation build,我得到了在控制檯下面的錯誤應用:

Error: [$injector:unpr] Unknown provider: eProvider <- e <- scrollDirective

我失去了一切辦法讓這個指令適用於minified的應用程序嗎?

回答

2

您必須在控制器中使用的指令中使用相同的縮小比例安全依賴注入語法。控制器中還缺少一些注射線:

(function() { 
    'use strict'; 

    angular.module('application').controller('MeetingRoomsCtrl', ['$scope', '$timeout', 'facilities', 'items', '$state', 
     '$window', 'foundation', 'ModalFactory', 'NotificationFactory', 
     function($scope, $timeout, facilities, items, $state, $window, foundation, ModalFactory, NotificationFactory) { 
      // controller code ... 
     } 
    ]) 
    .directive('scroll', ['$window', '$document', '$timeout', function($window, $document, $timeout) { 
     return function(scope, element, attrs) { 
      var grid_content = document.querySelectorAll('.grid-content')[0]; 
      var stickyFunction = function() { 
       // doing stuffs ... 
       scope.$apply(); 
      }; 
      angular.element(grid_content).bind("scroll", stickyFunction); 
     }; 
    }]); 
})(); 
+0

呃,那確實很簡單!我改變了這種語法,現在它正在構建版本。謝謝您的幫助! – vard