在淘汰赛中,我看到View Models声明为:
var viewModel = {
firstname: ko.observable("Bob")
};
ko.applyBindings(viewModel );
Run Code Online (Sandbox Code Playgroud)
要么:
var viewModel = function() {
this.firstname= ko.observable("Bob");
};
ko.applyBindings(new viewModel ());
Run Code Online (Sandbox Code Playgroud)
如果有的话,两者之间有什么区别?
我确实在knockoutjs google小组上找到了这个讨论,但它并没有给我一个满意的答案.
如果我想用一些数据初始化模型,我可以看到一个原因,例如:
var viewModel = function(person) {
this.firstname= ko.observable(person.firstname);
};
var person = ... ;
ko.applyBindings(new viewModel(person));
Run Code Online (Sandbox Code Playgroud)
但如果我不这样做,我选择哪种风格呢?