gpt4 book ai didi

knockout.js - KnockoutJs 中的 `valueWillMutate` 是什么?

转载 作者:行者123 更新时间:2023-12-04 14:27:38 26 4
gpt4 key购买 nike

可以踢一个 observable 调用它的 valueHasMutated强制通知订阅者的方法。什么valueWillMutate做?

最佳答案

在订阅 observable 时,有时您想知道 observable 更改后的先前值。例如,当你有一个可观察的 selectedItem (在项目列表中),但每个单独的项目也有一个 selected属性(property)。当selectedItem更改,要选择 selected = false在先前选择的项目上。你可以这样做:

selectedItem.subscribe(function (previous) {
previous.selected = false;
}, null, 'beforeChange');

valueWillMutate 用于触发 beforeChange事件。

编辑:要获得更多实用程序,请查看 Knockout-2.2.0, subscribe get value before change AND new value .最高投票的答案会创建一个扩展器,允许您订阅一个可观察对象并同时使用旧值和新值。

编辑 2:只是为了澄清:您不需要显式调用 valueWillMutate获取 beforeChange事件:当您对可观察对象进行操作时,Knockout 会为您执行此操作。您只需要在操作底层值时手动执行此操作,或者当您出于某种原因想要显式触发订阅者时。我的回答是从Knockout内部实现的角度写的,我没说清楚。

关于knockout.js - KnockoutJs 中的 `valueWillMutate` 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25060904/

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