writeValueToProperty不可用(writeValueToProperty isn&#

2019-10-17 05:02发布

我在做一个自定义的结合,我的第一个版本所需的数据绑定属性是可观察的,但我刚刚发布了绑定的用户也许可以想使用一个标准的属性(如果他们不感兴趣,而当该值被通知改变)。

为了支持这个我看着值绑定如何实现,并使用

ko.jsonExpressionRewriting.writeValueToProperty

将值写入既可观测量或标准属性。

这是一个内部KO的命名空间,所以我不能用它从我绑定,我怎么调用这个方法?

编辑:我在github上拉请求解决这个https://github.com/SteveSanderson/knockout/pull/806

Answer 1:

淘汰赛从生成的对象放在一个功能allBindingsAccessor ,你可以用它来写一个不可观察的模型值。

如果您的结合被称为myBinding ,那么你的代码可能是这样的:

        if (ko.isObservable(modelValue)) {
            modelValue(valueToWrite);
        }                
        else { //non-observable
           allBindingsAccessor()._ko_property_writers.myBinding(valueToWrite);   
        } 


文章来源: writeValueToProperty isn't available
标签: knockout.js