我正在使用backbone.js构建一个小测验游戏
一旦你完成测验,你可以选择重新开始。
我怎样才能做到这一点?我已经尝试过调用初始化函数,以及启动游戏时被触发的第一个函数。这只是返回错误。这两个调用是成功的,但是后续的每个问题的解决功能都失败了。
我想我需要清空我的模型/集合。这是我第一次使用Backbone,我仍然试图了解每一个工作原理。
任何帮助,非常感谢。
答案 0 :(得分:0)
您可以使用骨干路由器(不要忘记start):
因此,在您的游戏视图中,您会遇到一个事件,该事件会在单击“再次启动”按钮时触发。此事件将触发一个将用户重定向到新游戏路径的功能。您还可以在路由器中设置一个功能来关闭旧视图。这对avoid zombie views
很重要e.g。图
//initialize code
//...
events: {
'click .startAgainButton':'restart'
}
restart: function(e) {
e.preventDefault();
window.location.href = '#/new_game';
}
//rest of view code...
e.g。路由器
//router code
routes: {
"new_game":"reset"
},
trackView: function (next) {
if (this.current) this.current.close();
this.current = next;
},
//kill zombie views
close: function () {
this.undelegateEvents();
this.$el.off();
this.$el.children().remove();
},
reset: function() {
this.trackView(new View());
}