0
我有一個簡單的jsfiddle,我試圖更好地理解值綁定。我有綁定到搜索財產在我的視圖模型的輸入控制值如下:KnockoutJS和值綁定(2-way)
<input data-bind="value: search" />
我有搜索財產定義爲:
this.search = ko.observable("");
我也訂閱實施了「搜索」屬性如下:
this.search.subscribe(function(newValue) {
alert("New value is " + newValue);
alert("New value is" + this.search);
});
我可以看到newValue隨我鍵入然後選擇另一個控件,但viewModel屬性搜索確實總是undefined。我期待與雙向綁定,因爲我鍵入信息搜索將具有類型值,以便我可以使用它說一個按鈕,執行web服務調用使用ajax,但undefined是我可以在沒有設置搜索的默認值的情況下進入現場。
預計我在訂閱電話中更改搜索的值嗎?我認爲這將通過雙向綁定來完成。
你得原諒我,我只是在我的腦海設置視圖模型的這些對象可以像在C#中的變量進行訪問。我看到代碼說,並非所有的瀏覽器都支持訪問變量,我可能不得不將它們作爲函數調用,但由於某種原因,我立即駁回了這一事實。謝謝你。 – ShelbyZ 2012-04-20 14:28:31
沒問題,但afaik這與瀏覽器無關;它與Knockout有關 - 如果你通過瀏覽器訪問'_self.search',那麼結果應該總是'function(...){...}',因爲它*是一個函數 – 2012-04-20 14:31:02