2013-07-31 2 views
0

В настоящее время я перемещаю код в приложении AngularJS и начал получать сообщение об ошибке в директиве клиента. Директива прекрасно работает в оригинале, но возвращает ошибку, указанную ниже, после того, как я переместил несколько вещей.AngularJS Directive Object «No Method»

Я работал над кодом, чтобы попытаться найти ссылку, которую я пропустил, версию файла, которая отключена, или по какой-либо другой причине, почему эта ошибка внезапно появляется. Я, к сожалению, ничего не нашел.

Может возникнуть следующая ошибка в директиве AngularJS?

TypeError: Object [object Object] has no method 'slider' 
    at link (http://localhost:8000/static/modeling/js/directives/slider.js:9:13) 
    at k (http://localhost:8000/static/js/angular.min.js:44:444) 
    at e (http://localhost:8000/static/js/angular.min.js:40:139) 
    at e (http://localhost:8000/static/js/angular.min.js:40:156) 
    at e (http://localhost:8000/static/js/angular.min.js:40:156) 
    at e (http://localhost:8000/static/js/angular.min.js:40:156) 
    at k (http://localhost:8000/static/js/angular.min.js:44:382) 
    at e (http://localhost:8000/static/js/angular.min.js:40:139) 
    at e (http://localhost:8000/static/js/angular.min.js:40:156) 
    at http://localhost:8000/static/js/angular.min.js:39:205 <slider id="slider" scale="scale" class="span2 ng-isolate-scope ng-scope"> 

Моя директива определяется следующим образом:

myApp.directive('slider', function() { 
    return { 
     restrict: 'E', 
     scope: { 
     scale: '=' 
     }, 
     link: function(scope, elm, attrs) { 
     console.log(elm); 
     elm.slider({ // !! THIS IS LINE 9 (per error message) !! 
      min: 1, 
      max: 50, 
      step: 1, 
      value: 30, 
      slide: function(event, ui) { 
       scope.scale = ui.value; 
       scope.$apply(); 
      } 
     }) 
     } 
    } 
}); 

Пример HTML тег используется является:

<slider id="slider" scale="scale" class="span2"></slider> 
+2

Похоже, вы могли бы забыть включить jQueryUI в вашем реконфигурированноге приложения. – Lukas

+0

Спасибо! Пожалуйста, предоставьте в форме ответа, чтобы я мог дополнительно расширить решение! :) –

ответ

1

Похоже, вы забываете включить jQueryUI в вашем реконфигурированного приложение ,

2

Порядок включений важен! Правильный порядок:

<script src="js/jquery.min.js"></script> 
<script src="js/jquery-ui.min.js"></script> 
<script src="js/angular.min.js"></script> 
...