我正在编写一个Backbone应用程序,用户可以在其中搜索视频游戏。
以下代码返回用户使用搜索字段输入的随机游戏。例如,如果用户搜索Mario,它会列出API中前5个马里奥游戏中的一个。
$.getJSON(url, function(data){
var games = data.results
var game = games[Math.floor(Math.random() * 5)];
var content = self.game_template({game: game});
self.$el.append(content);
$('.main-game').css("display", "block");
});
我希望当用户搜索特定标题时,它会渲染每个游戏。因此,当用户搜索马里奥时,所有马里奥游戏都会呈现。游戏在一个数组中,所以如果我说var game = games;
,Chrome检查器会返回Object,其中包含许多其他对象,即游戏。
答案 0 :(得分:0)
如果您正在构建Backbone应用程序,请使用Backbone部件。您的代码中只有jQuery ...
您应该使用包含游戏模型的Backbone Collection来存储您的数据(例如参见Backbone: Create collection from JSON)。如果您有一系列游戏,可以使用filter
方法获取所需的游戏列表
var marioGames = myCollection.filter(function(game){
return game.get("name").indexOf("Mario") >= 0;
});
marioGames
现在将成为其name
媒体中包含“Mario”字样的游戏集合。