Breeze 敲除值绑定输出一个函数

Breeze knockout value binding outputs a function

本文关键字:一个 函数 输出 绑定 Breeze      更新时间:2023-09-26

我正在使用带有敲除的微风来对抗 odata 端点,它给出了一些奇怪的结果。不过,希望我只是错过了一些明显的东西。

这是我的绑定表达式:

<input type="text" id="name" data-bind="value:organisation().name" />

其中organisationko.observable<myEntity>,myEntity有一个名为name的属性。

文本框的值是一个函数,我认为它是可观察的(尽管从读取输出中可能看起来它实际上是一个计算的...?:

function f(){if(0<arguments.length){if("function"===typeof O)O.apply(d,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}a.k.Jb(f);n&&k(!0);return q}

如果我将绑定表达式更改为value:organisation().name()则会显示正确的值,但双向绑定将丢失,并且不会反映更改。

希望我犯了一个常见的错误,这里的某个人可能会指出!

如果你把它绑定到 organistion((.name(( 那么 knockout 在"普通 js 表达式"模式下工作,双向绑定将不起作用。

我真的不知道微风,但看起来你的"名称"可观察是一个对象的属性,它是你的"组织"可观察的值。尝试先使用"with"绑定绑定到外部,然后再绑定到内部绑定。

喜欢这个:

<!-- ko with:organization -->
<input data-bind="value:name"></input>
<!-- /ko -->