问题标签 [angularjs-timeout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - AngularJS $timeout 有时有效,有时无效
我在使用 AngularJS 和 $timeout 时遇到了一些问题。
加载页面后,我需要运行一些代码。Http.get() 加载项目并且 ng-repeat 将它们显示在表格中。然后我需要在单击它时运行代码以突出显示行。
我找到了使用 $timeout 的解决方案。
这确实有效,但并非每次都有效。在函数中,我记录了表中的行数,有时我得到 0,因此未注册单击处理程序并且突出显示不起作用。
尝试模拟时,我必须按 Ctrl + F5 刷新。
控制台日志:
我找不到任何解决此问题的方法,任何建议将不胜感激
:)
谢谢马克
编辑: 这是我的 HTML
angularjs - AngularJS:使用“this”的指令控制器中的$timeout
不确定这里的一切是否正确连接。目标是调用 nextSlide 函数,让它改变类,等待一秒钟,然后将当前图片递增 1,然后再改变类。我认为问题在于范围,但我没有在我的代码中的任何地方使用 $scope 并且所有示例都使用它。运行时会完全跳过超时。
如何让 $timeout 执行?
javascript - Angular.js 中是否有任何事件“在 $scope 摘要完成”或“视图刷新”?
我正在对视图中用于生成列表的数据执行 AJAX 请求。我需要知道 $scope 何时更新以及在收到成功响应后何时呈现视图,以便我可以为列表动态设置一些初始值和一些事件处理程序。
我目前正在使用以下代码,但它没有起到作用:
在我调用 setInitialSliderValues() 时,视图仍未刷新。
当我尝试使用以下内容时,我收到错误“$digest already in progress”:
如果不使用计时器来检查我期望的更改,我如何才能绝对确定对数据的更改已在页面上生效。
angularjs - 以角度取消资源请求
我是 Angular 新手,所以我需要详细解决这个问题。我看过很多答案,但不是根据我的情况。
我有一个服务:
现在我需要在拨打新电话时取消之前的通话。我如何需要在这里使用超时参数?
在控制器中,我像这样调用此服务:
我需要如何更改我的服务和控制器。
谢谢。
javascript - AngularJS:避免使用 $timeout 等待图像加载完成
我正在尝试创建自己的图像轮播作为 angularjs 指令;我想让它尽可能地轻量级和无主见,所以我想我只是<carousel></carousel>
为一组<img>
元素创建一个包装器,如下所示:
该指令的作用是简单地创建一个<div class="carousel">
图像被嵌入其中的元素。现在,我还没有编码图像滑动或淡入/淡出的部分,因为我想先解决一个问题:我想将轮播和其中的所有图像分配相同的高度(计算作为最短图像的高度)以避免轮播在显示更高的图像时改变高度,或者避免在轮播具有固定高度的情况下裁剪图像。
所以我记下了这个 JSFiddle来演示,但到目前为止,我发现计算嵌入图像高度的最佳解决方案依赖于两个嵌套$timeout
的 s,延迟为 100 毫秒。在我看来,它更像是一个黑客而不是任何东西。
所以我想知道在angularjs中是否有一种“正确”的方式来完成它。干杯。
PS 附带说明一下,我也不喜欢获取指令模板的根元素,<div class="carousel">
在我的情况下,使用element.children()
... 在 angularjs 中没有简单的方法来引用它吗?环顾四周,但没有骰子。
angularjs - 模拟量角器中的时间流逝?
我有几个地方使用 $timeout 或 $interval 在 UI 中发生延迟。这是一个简化的示例:
控制器代码:
HTML:
我希望能够创建一个端到端量角器测试,以测试 #myElement 在等待 10 秒后是否显示。我发现这样做的唯一方法是调用 browser.sleep(10000),这会导致我的测试实际延迟 10 秒。这行得通,但是这些暂停加起来会显着增加我的测试持续时间。想象一下,您想测试一个模态是否在 30 分钟不活动后弹出。
有没有办法模拟特定时间的流逝,类似于茉莉花测试中的 $timeout.flush() ?
javascript - 延迟后触发 ng-show
我想让一个 div 在页面加载后 10 秒出现。我想使用角度。
任何想法我可以如何做到这一点?有没有办法在设定的时间后触发,比如说一个功能?我觉得这应该很容易,我试过用谷歌搜索,但由于我是编程新手,我不知道我在找什么
谢谢
javascript - 创建带有超时的自动javascript队列以转移项目
我想要实现的目标非常简单,但我很困惑。我正在尝试创建一个包含医院患者的队列,他们将被记录到系统中,添加到一个数组(FIFO)中,然后在一定的时间间隔后,他们应该从队列中删除。我正在使用 angularjs 将对象添加到数组和设置时间间隔函数。
这是我的代码,我做了 2 个示例来尝试遍历数组。如果您注意到,为了使这个自动,我已经将该方法添加到表单的 add 方法中。这个想法是设置一个例如 3 秒的间隔,但它们不应该同时触发,它们应该彼此相隔 3 秒。提前致谢。
jquery - 如何在指令中使用 $timeout 服务?
基本上,我想在 angular 操作 DOM 后测量元素的宽度。所以我想为此使用 $timeout ,但它总是让我出错。
HTML
CSS
JS