gpt4 book ai didi

javascript - Knockout.js 3.4.1 抛出多重绑定(bind)错误

转载 作者:行者123 更新时间:2023-11-29 15:22:56 27 4
gpt4 key购买 nike

我正在做一个相当大的项目,我使用 KnockoutJS(大到不可能在这里发布所有相关代码),今天我从 Knockout 3.4.0 升级到 3.4.1。这样做之后,我突然在每次页面加载时收到多个绑定(bind)错误(“您不能将绑定(bind)多次应用于同一元素”)。

我已经使用 Knockout 一段时间了,我非常有信心我绝不会对同一个元素多次应用绑定(bind)。我只调用了一次 applybindings,并且我已经通过调试该代码(并搜索该函数的任何其他实例)确认该语句也只运行一次。

在调试了一段时间后,我决定再次降级到 Knockout 3.4.0。事实证明,该错误仅出现在最新版本 3.4.1 中。

还有其他人注意到这种行为吗?他们改变了什么导致了这种情况?

即使我运行 KO 的调试版本,错误也无法告诉我它指的是什么元素,这让我无法找出错误的实际来源。

我在调用 applybindings 时也没有使用第二个可选参数(没有特定的元素目标),因为无论如何我只这样做一次。

最佳答案

在你提出问题 5 个月后,有人在他们的 Github page 上提出了同样的问题.已修复 here .

Brian M Hunt(所有者之一)的评论:

The issue was that the valueAccessor() needed to be called (if it's a function) to create the dependency. I believe I have the right fix for it in TKO (basically if (typeof valueAccessor() === 'function') {valueAccessor()()} in the render loop), but the TKO fix doesn't back-port/translate directly since it's using the new binding class style.

关于javascript - Knockout.js 3.4.1 抛出多重绑定(bind)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42134449/

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