バックボーンには、「mistakes_dict」と呼ばれるカスタム プロトタイプ オブジェクトを含むビューがあります。犯した間違いを記録しておきたいので、miss_dict を持続させたいと思います。ただし、「next_stage」メソッドを実行すると、miss_dict が定義されていないというエラーが発生します。なぜこうなった?nexstage メソッドでローカルに間違いの dict を定義すると、正常に動作しますが、もちろん、次にメソッドを実行するときに同じ辞書を使用できません。
補足として、辞書がまだ存在しない場合 (値が 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;
}
});