只看两种方法并告诉我有什么区别。什么时候应该使用?
在第一种情况下将创建实例,但在第二种情况下,在ko.applyBindings()
时不会创建任何实例,所以这是代码。
function MyViewModel() {
var self = this;
self.lastInterest = ko.observable();
self.places = ko.observableArray(['London', 'Paris', 'Tokyo']);
// The current item will be passed as the first parameter, so we know which place was hovered over
self.logMouseOver = function(place) {
self.lastInterest(place);
}
}
ko.applyBindings(new MyViewModel());
var viewModel = {
detailsEnabled: ko.observable(false),
enableDetails: function() {
this.detailsEnabled(true);
},
disableDetails: function() {
this.detailsEnabled(false);
}
};
ko.applyBindings(viewModel);
答案 0 :(得分:-2)
第一个代码部分是一个函数,但第二个是基于类的模块设计模式代码,你可以在第二个代码中达到参数!
看看这个:
http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html