render:function(output){
_.each(output, function(i){
p=i.name;
});
$(this.el).append(p);
}
这里我以json的形式获得输出....我有100个名字......我想一个接一个地追加它...在这种情况下我得到一个名字.... 如果我这样说......
render:function(output){
_.each(output, function(i){
p=i.name;
$(this.el).append(p);
});
}
每个循环里面什么都没来...... 我需要在这里制作100个像p这样的变量,还是有其他任何方式......
答案 0 :(得分:1)
您需要提供上下文,即此。 “this”是对您正在使用的当前对象的引用。但是,当您从当前对象中调用其他函数时,您将丢失对当前对象的引用。基本上,这就是指函数。但你可以轻松解决这个问题。
将此作为参数添加到函数调用中:
render:function(output){
_.each(output, function(i){
p=i.name;
$(this.el).append(p);
},this);
}
或者通过辅助变量
提供render:function(output){
var self=this;
_.each(output, function(i){
p=i.name;
$(self.el).append(p);
});
}
我会选择选项1