2
我想將knockout功能實現到已經存在的頁面。因此我想用現有腳本中的ViewModel數據進行操作。我嘲笑了一個例子,但它不能正常工作。Knockout JS - 通過自定義腳本更新ViewModel數據
ViewModel已正確綁定到UI(嘗試在輸入中輸入)。當我在後端修改ViewModel數據時,它也起作用(,按下按鈕)。但是,當我通過在輸入框中鍵入來再次修改輸入值時,數據不會更改。
如何從後端適當修改ViewModel數據(某些現有代碼處理數據)。請注意,我已經使用jQuery click事件作爲例子。現有的代碼可能以不同的方式操作數據。
下面是代碼(HTML):
<!-- View -->
<p>First name: <strong data-bind="text: myName"></strong></p>
<input data-bind="value: myName"></input>
<button>Click me</button>
和JS:
// ViewModel
var AppViewModel = function() {
this.myName= ko.observable("John Doe");
}
// ViewModel instance
var app = new AppViewModel();
// Activates knockout.js
ko.applyBindings(app);
// Custom external code that changes the data in the ViewModel instance
$("button").click(function() {
app.myName= ko.observable("Steve Peterson");
ko.applyBindings(app);
});
謝謝你,工作。 – Matej 2012-03-14 11:28:36