gpt4 book ai didi

angularjs - 了解绑定(bind)限制

转载 作者:行者123 更新时间:2023-12-04 11:24:48 25 4
gpt4 key购买 nike

我一直在阅读 bindonce作为减少 watch 和提高性能的一种方式。为了更好地理解这个包,我用 ng-repeat 做了一个例子。 .

JSBIN here

没有 bindonce我得到 103 block watch ,100 个列表项 + 2 个按钮。

使用 bindonce我得到了 3 block watch ,2 个 bottons + 1 个堡垒。

如果我理解 binonce正确地,一旦绑定(bind)的对象被解析和渲染,它就会移除 watch 。所以,

怎么可能使用 bindonce ,对对象所做的更改仍然反射(reflect)在 DOM 中吗?

最佳答案

文档中有提示:
Now this example uses 0 watches per person and renders exactly the same result as the above that uses ng-. *(Angular still uses 1 watcher for ngRepeatWatch)
关键是 Angular 仍然关注 ngRepeat , 所以如果数组改变 ngRepeat将重新渲染数组和 bindonce功能被重新应用。

我已经更新了你的 jsbin example here为了更好地说明这一点http://jsbin.com/xugemico/2/edit

请注意以下添加:

<p>
Bindonce: first item:
<span bindonce="arr" bo-bind="arr[0]"></span>
</p>

上面的代码使用了 bindonce在第一个没有 ngRepeat 监视的数组项上,您会看到该值没有根据 ngRepeat 中的 bindonce 更新。

关于angularjs - 了解绑定(bind)限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22280924/

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