我將盡我所能解釋這一點。我在這個對象中有一個名爲BaseForm
的對象,我有函數和knockout observables。我有一個叫做Initialize
的函數,裏面有一個對象,裏面充滿了ko可觀察對象。其中一個觀察對象稱爲FormVisible
並初始化爲true(FormVisible: ko.observable(true)
)。我也有一個叫做OnClickRow
的功能。在此功能中,它將FormVisible
從true更改爲false。我實例化BaseForm
多次。當我打電話給OnClickRow
時,它隻影響實例化的最後一個對象。爲什麼會發生?我該如何解決它?在一個物體內擊倒觀察對象
這裏是我的代碼:
function BaseForm() {
var that = this;
BaseForm.prototype.Initialize = function(model) {
this.model = model;
this.FormVM = {
FormVisible: ko.observable(true)
}
}
BaseForm.prototype.OnClickRow = function() {
that.FormVM.FormVisible(false);
}
}
this.base1 = new BaseForm();
this.base1.Initialize("new");
this.base2 = new BaseForm();
this.base2.Initialize("old");
this.base3 = new BaseForm();
this.base3.Initialize("other");
this.base1.OnClickRow();
這裏是jsfiddle。
你會發現這是很有幫助的http://jsfiddle.net/GSvnh/5147/ –