【问题标题】:Rendering all items from an array in Backbone在 Backbone 中渲染数组中的所有项目
【发布时间】:2014-01-31 06:47:15
【问题描述】:

我正在编写一个 Backbone 应用程序,用户可以在其中搜索视频游戏。

以下代码返回用户使用搜索字段输入的随机游戏。例如,如果用户搜索马里奥,它会列出 API 中排名前五的马里奥游戏之一。

$.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,其中包含许多其他游戏对象。

【问题讨论】:

    标签: javascript backbone.js


    【解决方案1】:

    如果您正在构建 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”的游戏集合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-15
      相关资源
      最近更新 更多