0
問題:在創建對象的附加實例並將其添加到數組後,數組中對象的所有實例都成爲最後添加的對象(我相信我總是創建儘管我不想嘗試單身)。實例化對象的多個實例並推送到ko.observableArray
例子:
var people = ko.observableArray([]);
var Bob = new Person('Bob','supervisor');
var Tina = new Person('Tina','sales lead');
people.push(Bob);
people.push(Tina);
//Both "persons" in "people" will be "Tina" and "Bob" is nowhere
這裏是Person對象(在CoffeeScript中)
define (require) =>
class Person
constructor: (name, title)->
@name name
@title title
name: ko.observable()
title: ko.observable()
創建這樣的輸出:
var _this = this;
define(function(require) {
var Person;
return Person = (function() {
function Person(name, title) {
this.name(name);
this.title(title);
}
Person.prototype.name = ko.observable();
Person.prototype.title = ko.observable();
return Person;
})();
});
我不認爲這與CoffeeScript有什麼關係。我懷疑你沒有正確使用knockout.js。這在普通的'CoffeeScript:http://jsfiddle.net/Xugxx/中可以正常工作。 – 2013-02-22 23:35:00
你是對的Alex,我明白了。我需要挖掘Knockout ObservableArray,看看這是不是罪魁禍首。謝謝。 – RyanKeeter 2013-02-22 23:41:43
當我將「名稱」和「標題」更改爲正常變量而不是「可觀察」時,這一切都可以正常工作。很有意思。 – RyanKeeter 2013-02-22 23:46:04