KnockoutJS - 在applybindings之后更新可观察值

Tod*_*vis 5 knockout.js

我需要在创建视图模型后更新可观察的值.此外,我需要直接更新值,以响应来自javascript控件的事件,而不将对象绑定到该observable.我认为这应该很简单,而且我只是错过了正确的语法,但我只是没有得到它.

我创建了一个JSFiddle来说明我正在尝试做什么. http://jsfiddle.net/toddhd/vwhqU/1/

如果你按下F12并在运行JSFiddle时观察控制台,你会看到被捕获的错误.

AppViewModel.firstName('Todd');
Run Code Online (Sandbox Code Playgroud)

尝试以这种方式更新firstname告诉我AppViewModel没有名为"firstName"的函数.

AppViewModel().firstName('Todd');
Run Code Online (Sandbox Code Playgroud)

这种方式告诉我firstName是未定义的.

可能我必须再次调用Apply Bindings,但我真的不想仅仅为了更新单个值.

我错过了什么?

Pau*_*mer 7

您需要更新对象的实例,而不是类的定义.

var avm = new AppViewModel();
ko.applyBindings(avm);
avm.firstName('Todd');
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/paulprogrammer/vwhqU/2/