コード
function Product(name) {
this.name = ko.observable(name);
}
function ProductViewModel() {
var self = this;
self.products = ko.observableArray();
$.getJSON("/admin/test", function(allData) {
var mappedProducts = $.map(allData, function(item) { return new Product(item.name) });
self.products(mappedProducts);
console.log(self.products);
});
}
ko.applyBindings(new ProductViewModel());
問題:allData
とmappedProducts
が適切に設定されている間 (名前と他のフィールドを持つ製品の配列のみ)、行console.log(self.products);
は空の配列を出力しています。
私は本当に混乱しています。最初は KO を使用していますが、これはチュートリアルとまったく同じコードのようです...タスクの代わりに製品を使用しているだけです。私は何かばかげたことを見逃していると確信しています。