2014-11-01 25 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 -->