sách gpt4 ai đã đi

javascript - AngularJS:链接到使用 ng-repeat 的指令中的元素

In lại 作者:行者123 更新时间:2023-12-03 02:45:03 32 4
mua khóa gpt4 Nike

我有一个简单的指令,模板在其中使用 ng-repeat 。我需要运行一些代码来针对 ng-repeat 指令创建的一些元素实例化 jquery 组件。问题是,如果我把这段代码放在链接函数中。 ng-repeat 尚未构建这些元素,因此没有实例化任何内容。

App.directive('myDirective', ['$compile', '$timeout', function($compile, $timeout) {
trở lại {
scope: {
domains: '='
},
templateUrl: '/app/partials/my_directive.html',
link: function($scope, element, attributes) {
element.find('.standard-help').tooltip('destroy');
element.find('.standard-help').tooltip({placement: 'top', trigger: 'click hover focus'});
}
};
}

模板如下所示。我正在尝试附加


我尝试使用 $watch() 和 $observe() 在域更改时注册回调并实例化工具提示代码。然而,我似乎无法让它在正确的时间给我打电话。我缺少什么想法吗?

1 Câu trả lời

我发现,如果创建了另一个指令,并将其添加到创建 ng-repeat 的元素中,则会通知重复创建的每个元素。然后我可以简单地 $emit 一个父指令可以监听的事件。此时它可以执行到那里重复元素的链接。这非常有效,特别是对于 dom 中的多个 ng-repeats 来说,因为我可以通过事件类型将它们分开,这些事件类型将传递给新指令。

这是我的指令:

App.directive("onRepeatDone", function() {
trở lại {
restrict: 'A',
link: function($scope, element, attributes ) {
$scope.$emit(attributes["onRepeatDone"] || "repeat_done", element);
}
}
});

以下是该新指令在模板中的用法:


  • ...


然后在父指令中我可以执行以下操作:

link: function( $scope, element, attributes ) {
$scope.$on('domain_done', function( domainElement ) {
domainElement.find('.someElementInsideARepeatedElement').click(...);
} );
}

关于javascript - AngularJS:链接到使用 ng-repeat 的指令中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17643681/

32 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com