gpt4 book ai didi

javascript - 在 Angular 中,如何 $eval() 一个函数并将元素传递给父函数?

转载 作者:行者123 更新时间:2023-12-03 11:15:30 24 4
gpt4 key购买 nike

问题:如何正确地将 ParentCtrl 内的 var trapfocus() 从适当的元素获取到 console.log(el)

HTML

  <div ng-controller="ParentCtrl">
<div ng-repeat="tab in tabs" modaltab="trapfocus($event)"></div>
</div>

JS:

  .directive('modaltab', function() {
return function(scope, element, attrs) {
element.bind("keydown keypress", function(event) {
if(event.which === 9) {
scope.$apply(function(){
scope.$eval(attrs.modaltab, {'event': event});
});
});
};
})

父Ctrl

.controller('ParentCtrl', function(){ 
var trapfocus = function(evt, el){console.log(el)};
$scope.tabs = [1,2,3,4];

});

最佳答案

无需$eval。在指令范围内声明此属性:

scope: {
modaltab: "&"
}

然后,从链接函数中像这样调用它:

modaltab({'$event': event});

关于javascript - 在 Angular 中,如何 $eval() 一个函数并将元素传递给父函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com