2014-11-01 60 views
1

我使用微风击倒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()那么正确的值显示,但双向绑定丢失和变化不会反映。

希望我做在这里一个常见的错误的人可能会指出!

+0

,你可以在这里发布的 “组织” 型号代码? – TSV 2014-11-02 07:40:36

+0

不是。我有一个接口,但这只是打字稿的东西,并不重要的运行时间。模型本身是由Breeze创建的,据我所知 – havardhu 2014-11-02 07:50:49

+0

需要repro。你应该能够创建一个迷你版本,你的模型的一个实体版本......只是组织实体,例如......产生这种行为。元数据是关键。作为一个jsfiddle或plunker会很棒。 – Ward 2014-11-03 17:41:20

回答

3

如果您将它绑定到org anistion()。name()然后knockout在“正常的js表达式”模式下工作,并且双向绑定将不起作用。

我并不知道微风,但它看起来像你的“名称”observable是一个对象的属性,它是你的“组织”可观察的价值。先尝试使用“with”绑定绑定到外层,然后绑定到内层。

像这样:

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