我正在尝试增加我分配给Backbone中的视图的ID。使用下面的代码,每个元素的ID都是1,我尝试了十几种方法在不同的位置使用id ++增加id,这样我就可以根据它们的id与元素进行交互。我使用以下代码来设置ID。任何寻找将ID增加1的方法的帮助都将非常受欢迎。
initialize:function(models, options){
this.model.set("view",this);
this.model.set("rank", 1, 'rank++');
this.model.set("id", 1);
},
答案 0 :(得分:0)
对Backbone.js不是很熟悉,但你总是可以使用全局变量。
var nextID = 1;
...
...
initialize: function(models, options){
this.model.set("id", nextID++);
},
答案 1 :(得分:0)
如果您只是想增加“ID”。每次创建视图并避免创建任何全局变量时,您可以使用javascript闭包来执行此操作。
function counter(){
var count=0;
return function (){ return ++count;};
}
var increase = counter()
var View = Backbone.View.extend({
initialize: function(model,options){
var id = increase();
this.model.set('id',id);
}
});
现在,只要您创建此视图的实例,其ID就会增加1。 你可以在这里阅读关于闭包的更多信息https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures。