gpt4 book ai didi

AngularJS:强制刷新原生一次性绑定(bind)

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

有没有办法强制刷新一次性绑定(bind)(v1.3+ 中存在的原生一次性绑定(bind)不是 BindOnce 库)无需重新编译整个 DOM 节点(这就是 kcd-recompile directive 似乎正在做的事情)

以下代码说明了我的问题:

<span ng-bind="::firstname" refresh-on="firstNameUpdated"></span>

这里我要 span的内容更新为 $scope.firstname 的当前值.

我想象的方式是使用指令 refresh-on ,它在收到事件 "firstNameUpdated" 时强制刷新.

最佳答案

我必须这样做,因为我使用的是 Angular 数据表,并且我不希望数据表在每次带有 5 秒计时器的轮播更改图像时都保持刷新。但是,我也希望能够在特定情况下刷新表格。

我所做的是将整个数据表包装在一个 ng-if="data"中,并为表中的所有 ng-repeats 设置一次性绑定(bind)(我有多个。一个用于动态设置列,一个用于行)。

然后,当我想刷新表时,我先这样做:

$timeout(function(){
$scope.$apply(function(){
$scope.data = null;
});
});
//Put code to set $scope.data to a new value here

这会在重新创建之前从 dom 中删除整个表。重新创建时,一次性绑定(bind)将重新绑定(bind)。它有点贵,但它的工作原理。

所以这就是你的答案。如果您使用 ng-if 从 DOM 中删除具有一次性绑定(bind)的 html 部分,然后将其放回,它将重新绑定(bind)到新值。

关于AngularJS:强制刷新原生一次性绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29825350/

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