この修正されたサンプル コードを使用して、Twitter API からデータを取得し、結果を viewModel に設定します。
var myModel = new MyViewModel();
// Handler for .ready() called.
function MyViewModel(){
this.show_search = ko.observable(true); // Message initially visible
this.show_player = ko.observable(false); // Message initially visible
this.tweetSearchKeyWord = ko.observable("google");
this.currentTweets = ko.observableArray([]);
this.showSearch = function(){
this.show_search(true);
this.show_player(false);
};
this.showPlayer = function(){
this.show_search(false);
this.show_player(true);
};
};
ko.computed(function () {
$.getJSON("http://search.twitter.com/search.json?q=%23" + myModel.tweetSearchKeyWord()+"&callback=?", function (data) {
theData = data.results;
myModel.currentTweets(theData);
});
}, viewModel );
ko.applyBindings( myModel );
データは正常に受信され、data.results は Array[15] を示します
しかし、私はそれをモデルに設定した後
myModel.currentTweets(theData);
myModel.currentTweets は空の配列として反映されます []
何が問題なのですか?