我搞不懂backbone.js
Can't figure out backbone.js
抱歉,如果这是一个超级新手的问题,但我拼命地想要学习Backbone.js的工作,我花了整整一周的时间阅读和观看codeschool.com上的视频,我仍然不能弄清楚。
我试图渲染json文件作为模板中的表,但我无法找出我做错了什么,每次我尝试的东西我做得越来越糟。
这是我的JS:
Game = Backbone.Model.extend({});
Games = Backbone.Collection.extend({
model: Game
})
window.AllGames = new Games();
AllGames.fetch({
url: 'games_in_progress.json'
, success: function() {
//console.log(AllGames.toJSON());
}
});
GameList = Backbone.View.extend({
el: 'body',
listTemplate: _.template($('#game_list').html(), {}),
initialize: function(){
//this.render();
this.collection = new AllGames();
this.collection.bind("reset", this.render, this);
this.collection.fetch();
},
render: function(){
//var listTemplate = _.template($('#game_list').html(), {});
//this.$el.html(listTemplate);
console.log(this.collection.toJSON());
$(this.el).html(this.listTemplate(this.collection.toJSON()));
}
});
var gameList = new GameList({
el:$(".content")
});
这是我要导入的json文件:
{
"title": "Tic Tac Toe Games in Progress",
"games": [
{"id": 1, "player1": "Eric Morgan", "player2": "Charles May", "player1_wins": 0, "player2_wins": 2},
{"id": 2, "player1": "Valerie Bowman", "player2": "Felicia Cole", "player1_wins": 0, "player2_wins": 0},
{"id": 3, "player1": "Guy Benson", "player2": "Norman Day", "player1_wins": 3, "player2_wins": 3},
{"id": 4, "player1": "Emanuel Weaver", "player2": "Sammy Nelson", "player1_wins": 10, "player2_wins": 4},
{"id": 5, "player1": "Oliver Mcbride", "player2": "Jill Hansen", "player1_wins": 102, "player2_wins": 30},
{"id": 6, "player1": "Alison Bell", "player2": "Owen Dixon", "player1_wins": 10, "player2_wins": 200},
{"id": 7, "player1": "Lawrence Adams", "player2": "Ebony Schmidt", "player1_wins": 1, "player2_wins": 0},
{"id": 8, "player1": "Tony Robbins", "player2": "Shelley Mills", "player1_wins": 5, "player2_wins": 21},
{"id": 9, "player1": "Dustin Watts", "player2": "Glen Clayton", "player1_wins": 12, "player2_wins": 19},
{"id": 10, "player1": "Douglas Bates", "player2": "Eduardo Martin", "player1_wins": 1, "player2_wins": 3},
{"id": 11, "player1": "Lola Swanson", "player2": "Nichole Carlson", "player1_wins": 101, "player2_wins": 0},
{"id": 12, "player1": "Fernando Mitchell", "player2": "Bessie Sharp", "player1_wins": 9, "player2_wins": 0},
{"id": 13, "player1": "Randal Austin", "player2": "Rodolfo Mccormick", "player1_wins": 7, "player2_wins": 90},
{"id": 14, "player1": "Louise Chandler", "player2": "Laura Beck", "player1_wins": 93, "player2_wins": 112},
{"id": 15, "player1": "Ernesto Brock", "player2": "Lois Singleton", "player1_wins": 109, "player2_wins": 87},
{"id": 16, "player1": "Lora Osborne", "player2": "Katie Johnston", "player1_wins": 201, "player2_wins": 7},
{"id": 17, "player1": "Priscilla Horton", "player2": "Julius Hale", "player1_wins": 10, "player2_wins": 53},
{"id": 18, "player1": "Andrew Fernandez", "player2": "Henrietta Morris", "player1_wins": 30, "player2_wins": 99},
{"id": 19, "player1": "Joe Shelton", "player2": "Martin Ramsey", "player1_wins": 34, "player2_wins": 20},
{"id": 20, "player1": "Mary Little", "player2": "Pam Goodwin", "player1_wins": 29, "player2_wins": 43},
{"id": 21, "player1": "Lynda Nguyen", "player2": "Jermaine Hughes", "player1_wins": 61, "player2_wins": 71},
{"id": 22, "player1": "Clifford Young", "player2": "Tonya Baldwin", "player1_wins": 0, "player2_wins": 0},
{"id": 23, "player1": "Adrienne Kennedy", "player2": "Jordan Howard", "player1_wins": 10, "player2_wins": 1},
{"id": 24, "player1": "Lena Newton", "player2": "Kristi Guerrero", "player1_wins": 30, "player2_wins": 1},
{"id": 25, "player1": "Alicia Casey", "player2": "Jody Lopez", "player1_wins": 0, "player2_wins": 0}
]
}
我知道它不好,但我真的很喜欢Backbone,我真的很想学它。如果有人能帮忙,我将不胜感激。
还有,如果有什么推荐的书可以读,我也会很感激。我目前正在阅读Thomas Davis的"Backbone教程"(https://leanpub.com/backbonetutorials),但如果有比这个或codeschool.com更好的资源,我将不胜感激。
对不起,我的浏览器截断了一半窗口:
请注意,当定义模板函数时,你已经通过提供一个空对象来编译它了,因此,您需要跳过定义中的空对象赋值。
正确的方法是这样的:listTemplate: _.template($('#game_list').html()),
相关文章:
- backbone.js无法渲染视图
- 如何使用backbone.js从集合中获取模型名称
- Backbone.js restful json API design
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- Backbone.js micro templating
- FancyTree JS+Backbone.JS-将数据加载到FancyTree时出现问题
- Backbone.js将模型绑定到视图时出错
- minimy javascript是什么意思?Backbone.js
- Backbone.js视图中的多个模型
- 在哪里存储HTML模板以在Backbone.js中使用
- require.js+backbone.js:如何构造具有初始化函数的模块
- JS/Backbone/Chaplin 事件处理程序未触发
- 使用Undercore.js/Backbone.js模板中的IF语句
- Node.js / backbone.js应用加载配置文件设置
- 渐进式增强- Node.js, Backbone.js
- node.js, backbone, socketio, express和coffee script都在一起吗?
- JS / Backbone -我的简单脚本不会触发"validate"在基本模型中
- Backbone-relational.js + Backbone.View(s)
- Backbone.js:“backbone . collection”;类支持不同类型的对象,以及类如何工作
- Require.js/Backbone.js:多个视图使用相同的集合