JS Knockoutを使用して、Four Square APIの検索結果を表示しています。 私はこれは私がHTMLドキュメントknockout.js観測可能な配列エラー "Uncaught ReferenceError:バインディングを処理できません"
<div id="foursquare-venues">
<ul data-bind= "foreach:venueList">
<li id="li-name" data-bind = "text:name">
</li>
</ul>
キャッチされないにReferenceErrorに結合の適用方法である私のJavascriptコード
var ViewModel = function(){
var self = this;
// Foursquare API Call :
this.foursquareURL = 'https://api.foursquare.com/v2/venues/search?ll=37.8,-122.4&query=croissant&client_id=CLIENT_ID&client_secret=CLIENT_SECRET';
this.fs_ApiCall = function()
{
$.getJSON(foursquareURL, function(data){
$foursquareElem.text('Get a croissant');
var venues = data.response.venues;
self.venueList = ko.observableArray([]);
for (var i=0; i<venues.length; i++){
self.venueList.push ({
name: venues[i].name,
lat: venues[i].location.lat,
lng: venues[i].location.lng
});
}
}).error(function() {
$foursquareElem.text("No data available");
});
};
};
ko.applyBindings(new ViewModel());
で、このビューモデルを持っている:結合「のforeachを処理できません:機能(){return venueList} " メッセージ:venueListが定義されていません
正しい方法を使用したかどうかはわかりませんでしたAPIでAPI応答をプッシュするが、エラーメッセージは配列が定義されていないとも思われる(?) ここで何がうまくいかないのか分かりません。