Breeze knockout值绑定输出一个函数

时间:2014-11-01 20:32:29

标签: javascript knockout.js typescript breeze

我使用微风与敲击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(),则会显示正确的值,但双向绑定将丢失,并且不会反映更改。

希望我有一个常见的错误,有人可能会指出这一点!

1 个答案:

答案 0 :(得分:3)

如果你将它绑定到organistion()。name(),则敲除工作在&#34;正常的js表达式&#34;模式和双向绑定不起作用。

我不知道微风,但它看起来像你的名字&#34; observable是一个对象的属性,它是你&#34;组织的价值。观察到的。尝试使用&#34;首先绑定到外部&#34;绑定,然后到内部绑定。

像这样:

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