在KO文档中,有一个使用计算的observables 的值转换器示例: http://knockoutjs.com/documentation/computed-writable.html#example-3-a-value-converter
但是,我想要一种方法,其中值转换器位于视图模型之外,就像IValueConverter
在Windows中的工作方式一样,视图模型无法以任何方式了解转换器。
我正在考虑一个可以让我写下这样的内容的功能:
data-bind="converter : { source: myBindingObject, converter: app.myConverter }"
和转换器是一个具有读/写功能的对象:
app.myConverter = {
convert: function (value, parameter) {
},
convertFrom: function (value, parameter) {
}
};
也许有一种方法我已经不知道了。
例如,我所描述的声音类似于KO扩展器,但它要求视图模型代码中的属性使用.extend(extender)
,就像我说的那样,它不是我想要的< / p>
答案 0 :(得分:1)
换句话说:让我们知道为什么你需要这个,并给我们一个实际的问题/方案/ repro。这将使我们更容易帮助您。
在任何情况下,我所知道的只有一个相关的默认Knockout构造可以回答您提出的直接问题:custom bindings。它们也相当于读写,但后来针对DOM操作(将视图模型读入DOM,反之亦然)。它们对您的视图模型不显眼,而是在DOM中指定。