gpt4 book ai didi

javascript - Angular 运行 jquery $(document).ready

转载 作者:行者123 更新时间:2023-12-03 06:30:50 29 4
gpt4 key购买 nike

我有一个 SPA,它使用 Angular http get 从弹性中检索潜在的大量数据,并将其呈现到页面上的 Pane 中。我遇到的问题是,如果在调用 jquery $(document).ready 函数之前没有收到来自 http get 的完整响应,我有一些使用 jquery 的奇特滚动条,这些滚动条将无法正常工作。对于较小的数据集,没有问题,只是较大的数据集。

我找到了一个部分解决方案,即向 jquery $(document).ready 函数引入 setTimeout,但这不是很优雅,除非需要,否则我不想总是有延迟。

一旦我收到所有的http响应,有没有办法从 Angular 调用jquery $(document).ready?或者还有另一个我可以调用的 Angular 函数吗?

最佳答案

看来你的问题是,你想知道 ng-repeat 何时完成渲染 DOM。我认为这个post可以帮你。

它表示创建一个指令,该指令将在 DOM 就绪时调用函数:

var module = angular.module('testApp', [])
.directive('onFinishRender', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element, attr) {
if (scope.$last === true) {
$timeout(function () {
scope.$emit(attr.onFinishRender);
});
}
}
}
});

html 看起来像这样:

<div ng-repeat="item in items" on-finish-render="ngRepeatFinished">
<div>{{item.name}}}<div>
</div>

关于javascript - Angular 运行 jquery $(document).ready,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38460587/

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