問題:オブジェクトの追加インスタンスを作成して配列に追加すると、配列内のオブジェクトのすべてのインスタンスが最後に追加されたオブジェクトになります(私は試みていませんが、常にシングルトンを作成していると思います)。
例:
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;
})();
});