在主干中,我有一个名为“mistakes_dict”的自定义原型对象的视图。我想记录所犯的错误,所以我希望 errors_dict 能够坚持下去。但是,当“next_stage”方法运行时没有定义errors_dict,我得到一个错误。为什么会这样?当我在 nexstage 方法中本地定义错误字典时,它可以正常工作,但是当然,下次运行该方法时,相同的字典将不可用。
作为旁注,如果字典尚不存在(值为1),我如何让字典创建一个新键,如果它确实存在则将其增加1?我知道如何在 Python 中做到这一点,但我是 JS 新手。
window.View = Backbone.View.extend({
mistakes_dict: {},
initialize: function () {
this.render();
},
events: {
"click .nextstage" : "nextstage"
},
nextstage: function () {
var mistakes_string = $("span.highlighted").text();
for(var i = 0, len = mistakes_string.length; i < len; i++){
mistakes_dict[mistakes_string[i]] = 1;
};
},
render: function () {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});