我有一个 HTML 元素绑定到我的视图模型中的一个可观察对象,它是使用John Resig 的简单 javascript 继承构建的。
<div data-bind="with: selectedItem()">
...
<div data-bind="click: $root.save">Save changes</div>
...
</div>
我的 ViewModel 看起来像这样。
var ViewModel = Class.extend({
init: function(type){
this.type = type;
this.selectedItem = ko.observable({name: "My name"});
},
save: function(data){
alert(this.type);
}
});
ViewModel#save 中的“this”引用了“selectedItem()”。换句话说,“this”引用了传递给函数的“data”。我怎样才能访问 ViewModel 的实例呢?
已编辑
这里的目的是从 ViewModel 继承函数。我想分别将“this.type”作为“第一”和“第二”访问。
var FirstViewModel = ViewModel.extend({
init : function() {
this._super('first');
}
});
var SecondViewModel = ViewModel.extend({
init : function() {
this._super('second');
}
});