0
我是KnockOutJs的新手,並開發一個使用KnockOutJs維護客戶端模型狀態和Asp.Net Webforms的頁面。 當我從服務器請求一個頁面時,控件(如文本框,跨度)已經被Asp.Net代碼填充。KnockoutJs applyBindings清除由Asp.net設置的默認值Webforms
<asp:TextBox runat="server" class="form-control" text="John" data-bind="value: firstName" id="txtFirstName"></asp:TextBox>
在我的JavaScript
現在,當我定義我的視圖模型
var viewModel = { userId = ko.observable() }
ko.applyBindings(viewModel);
的applyBindings語句使文本框的值被重置,因爲我不是在ko.observable定義我的初始值() 。
是否有將不適用該模型DOM元素applyBindings過載而只是結合使用DOM模型或執行相反(即讀取DOM值代入模型)
我現在不能做到這一點,但我懷疑一個自定義的結合可能是去這裏的路。因此,不是使用內置的'value'綁定,而是編寫自己的代碼來完成同樣的事情,但是可以從DOM中獲取初始值。如果沒有其他人,那麼明天我會試一試。 – 2014-12-03 22:43:44
或者,無論您的代碼是在後面的代碼中設置文本框的值,您是否可以改變它,以便將值注入到javascript viewmodel中? – 2014-12-03 22:46:18
@JamesThorpe,感謝您的指導,我會在週末嘗試這個。 – 2014-12-05 22:39:52