我試圖逐漸將KnockoutJS灑到我現有的應用程序中。我第一次嘗試這種做法是採取一些小的現有形式,並將它們的值在模糊處推送到服務器,並通過綁定更新一些元素。來自ViewModel的綁定值
我遇到的問題是,當表單第一次顯示時,它不會通過淘汰填充。我使用表單中已有的數據渲染頁面。所以我安裝我的淘汰賽這樣的:
function DomainViewModel() {
this.name = "";
this.description = "";
}
ko.applyBindings(new DomainViewModel());
我有我的窗體像這樣:
<input data-bind="value: name" value="${domainInstance.name.encodeAsHTML()}"/>
<textarea data-bind="value: description" >${domainInstance.description.encodeAsHTML()}</textarea>
所以會顯示我的形式發生了什麼,然後淘汰賽從視圖模型應用價值的表單,它清除了服務器放在那裏的值。我明白爲什麼會發生這種情況,而這不是一個錯誤。不過,我想知道這裏是否還有其他選擇。
我知道我可以做類似如下:
function DomainViewModel() {
this.name = "${domainInstance.name}";
this.description = "${domainInstance.name}";
}
但這需要我在GSP放一些javascript的直接(我使用的Grails),而不是外部腳本文件。
這種方法如何簡單。 :) 謝謝。 – Gregg