mouseover事件Angular JS访问属性

时间:2013-06-05 18:01:55

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat

我有以下指令

courseApp.directive("courseoverview", function() { 
    function link(scope, element, attrs) {
        scope.switched = false;
        //hover handler
        scope.hoverItem = function(hovered){
        if (hovered) {
            //element.addClass('hover');
            $('#course-'+ scope.$index  +' figure').addClass('tint');
            //console.log(scope.$index);
        }
        else
            //element.removeClass('hover');
            $('#course-'+ scope.$index  +' figure').removeClass('tint');
        };
    }  
    return {    
      restrict : 'A',    
      replace: true,   
      transclude: true,    
      templateUrl: "views/course-overview.html",
      link: link
   }});

使用以下代码

调用该指令
<li data-ng-repeat="item in social" class="social-{{item.name}}" 
                ng-mouseover="hoverItem(true);"
                ng-mouseout="hoverItem(false);"
                current-social="{{item.name}}">

悬停功能很好但我需要在指令中访问这个属性,我需要它的值。

关于如何实现这一目标的任何想法都会很棒。

1 个答案:

答案 0 :(得分:1)

首先,您的指令被命名为&#39; courseoverview&#39;但我在你提供的标记中的任何地方都没有看到该属性。

要解决您的问题,请说我需要在指令中访问此属性。但我认为你在链接函数中有属性 - 请参阅attrs参数。这些是触发指令的元素的属性。

 function link(scope, element, attrs) { ... } 

有关详情,请参阅this answer