2016-06-02 3 views
0

Я добавляю эту директиву ниже в мой взгляд (в html) в angularjs, кажется, я могу видеть console.log на консоли, но класс ' subPlaylistSecondaryItemRemoval 'не добавляется.директива не применяется к элементам ng-repeat в angularjs

мой HTML

<ul class="dupeAssets" first-element-list> 
    <li ng-repeat="dupeAssetslist in playlistAssets.assets track by $index" ng-if="dupeAssetslist.type == 'Playlist'">{{dupeAssetslist.title}}</li> 
    </ul> 

и моя директива ниже

appModule.directive("firstElementList", function() { 
     console.log("firstElementList"); 
     return { 
      restrict: "A", 
      link: function (scope, element, attributes) { 

       $scope.$watch(element.children(), function() { 
        var children = element.children(); 
        for (var i = 1; i < children.length; i++) { 
         if (children[i].nodeType !== 8) { 
          angular.element(children[i]).addClass('subPlaylistSecondaryItemRemoval'); 
         } 
        } 
       }); 

      } 
     }; 
    }); 

, но я получаю следующее сообщение об ошибке

angular.js:12783 ReferenceError: $scope is not defined 

Любая помощь, пожалуйста?

+0

это сфера или $ Сфера? Может быть, опечатка? –

+1

Да, это потому, что ваша область видимости не '$ scope', а' scope'. – Michelangelo

+0

Я пробовал оба, но в обоих случаях получаю ту же ошибку – User123

ответ

0
link: function (scope, element, attributes) { 

должно быть:

link: function ($scope, element, attributes) { 
0
working fiddel https://jsfiddle.net/U3pVM/25262/ 

это fiddel использование углового 1.0.3 так я удалены дорожки по индексу

+0

рабочая скрипка для вашей второй проблемы: https://jsfiddle.net/U3pVM/25263/ scope. $ watch (element.children(), function() { вар дети = element.children(); для (вар я = 2; г avim101

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