2013-07-16 41 views
4

我需要在創建視圖模型後更新可觀察值。此外,我需要直接更新值,以響應來自javascript控件的事件,而不將對象綁定到該可觀察對象。我認爲這應該是非常簡單的,而且我只是缺少正確的語法,但我只是沒有得到它。KnockoutJS - 應用綁定後更新可觀察值

我創建了一個的jsfiddle來說明什麼,我試圖做的。 http://jsfiddle.net/toddhd/vwhqU/1/

如果您在運行JSFiddle時按F12並觀察控制檯,則會看到捕獲到的錯誤。

AppViewModel.firstName('Todd'); 

嘗試更新名字這樣告訴我,AppViewModel有沒有所謂的「名字」的功能。

AppViewModel().firstName('Todd'); 

這樣告訴我,firstName是未定義的。

這可能是因爲我必須再次調用應用綁定,但我真的不希望這樣做,只是爲了更新一個值。

我錯過了什麼?

回答

1

您需要保存您的視圖模型中的一個變量,使用這個變量來更改名字。 我已更新您的jsfiddle:http://jsfiddle.net/vwhqU/3/

var vm = new AppViewModel(); 
ko.applyBindings(vm); 

//I need to update first name directly later on, without a binding, in response to an event 
vm.firstName('Todd'); 
相關問題