gpt4 book ai didi

javascript - KnockoutJs v3 - _ko_property_writers = 未定义

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:00 25 4
gpt4 key购买 nike

我正在尝试让我的自定义绑定(bind)与可观察对象和普通对象一起使用。我遵循了这个问题的答案:

writeValueToProperty isn't available

但是,如果我查看执行 allBindingsAccessor 时返回的对象,属性“_ko_property_writers”是未定义的。

有谁知道这在 knockout 的第 3 版中是否有任何改变?

编辑

抱歉,我应该说,我正在尝试以一种可观察到的不可知论方式将值“写”回模型

最佳答案

这对我很有帮助:

ko.expressionRewriting.twoWayBindings.numericValue = true;  
ko.bindingHandlers.numericValue = {
...
}

指定绑定(bind)为双向后定义。所以我可以在我的自定义绑定(bind)中使用类似的东西:

ko.expressionRewriting.writeValueToProperty(underlying, allBindingsAccessor, 'numericValue', parseFloat(value)); 

writeValueToProperty 在内部定义为:

writeValueToProperty: function(property, allBindings, key, value, checkIfDifferent) {
if (!property || !ko.isObservable(property)) {
var propWriters = allBindings.get('_ko_property_writers');
if (propWriters && propWriters[key])
propWriters[key](value);
} else if (ko.isWriteableObservable(property) && (!checkIfDifferent || property.peek() !== value)) {
property(value);
}
}

关于javascript - KnockoutJs v3 - _ko_property_writers = 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20682190/

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