把它作为参数传递给angularjs函数

Passing this as a parameter to an angularjs function

本文关键字:angularjs 函数 参数传递      更新时间:2023-09-26

我有这个:

<div class="col-md-2 col-md-offset-1 team" ng-mouseover="showDetails()" >
           ....
           ....
           ....
</div>

我想把鼠标所在的整个区域传递给一个angularjs函数,这样我就可以找到每个子节点。

 $scope.showDetails = function(item){
        console.log(item);
        var element = $(item).find('#child1');
     }

我尝试了showDetails(this)showDetails($this)showDetails({{this}}),但他们似乎不工作。第一个在控制台上打印一些东西,但可能是错误的,因为它找不到子节点。我做错了什么?

a {$id: "004", this: a, $$listeners: Object, $$listenerCount: Object, $parent: a…}

您可以通过$event.target访问。

<div class="col-md-2 col-md-offset-1 team" ng-mouseover="showDetails($event)" >
    ....
</div>
$scope.showDetails = function(evt){
    console.log(evt.target);
    var element = $(evt.target).find('#child1');
}

这可能意味着您想要操作控制器中的元素,这是一个禁忌。你应该用你想要的功能创建一个自定义指令