使用对象字面量声明的knockout视图模型与使用函数声明的视图模型之间的区别
- 论坛
- 使用对象字面量声明的knockout视图模型与使用函数声明的视图模型之间的区别
6 浏览
使用对象字面量声明的knockout视图模型与使用函数声明的视图模型之间的区别
在knockout js中,我看到View Models可以声明为以下两种形式之一:
1. 使用字面量对象的方式声明:
var viewModel = { firstname: ko.observable("Bob") }; ko.applyBindings(viewModel);
2. 使用构造函数的方式声明:
var viewModel = function() { this.firstname= ko.observable("Bob"); }; ko.applyBindings(new viewModel());
这两种方式有什么区别吗?我在knockoutjs的谷歌讨论组中找到了这个讨论,但并没有给我一个令人满意的答案。
如果我想要使用一些数据来初始化模型,比如:
var viewModel = function(person) { this.firstname= ko.observable(person.firstname); }; var person = ... ; ko.applyBindings(new viewModel(person));
那么我可以理解选择使用构造函数的方式。但如果我不这样做,选择哪种方式有什么区别吗?