我希望避免重新渲染每个'添加删除重置' Backbone.Collection上的事件。
所以在Backbone.View中我可能有:
catch
如果删除/删除一堆模型,它会为我删除的模型渲染。
避免这种情况的最佳方法是什么?
答案 0 :(得分:3)
你没有重新渲染整个视图只是因为某些东西需要消失。
你可以有一个方法只删除一个模型的视图块:
#include<stdio.h>
#include<malloc.h>
#include<string.h>
void check_pal(int a[],int max)
{
int i,j,ctr,k;
while(1)
{
for(i=0;i<max;i++)
printf("%d",a[i]);
ctr=0;
k=max-1;
while(a[k]==9)
{
a[k--]=0;//add corner case when k==0
}
a[k]++;
for(i=0,j=max;i<max/2;i++,j--)
{
printf("%d",i);
if(a[i]!=a[j])
{
ctr=1;
break;
}
}
if(ctr==0)
for(i=0;i<max;i++)
{
printf("%d",a[i]);
if(i==max-1)
return;
}
}
}
void int_convert(char * m,int a[] )
{
int i,max;
for(i=0;i<strlen(m);i++)
{
// printf("%c",m[i]);
a[i]=m[i]-'0';
}
max=strlen( m);
printf("%d\n",max);
check_pal(a,max);
}
void main()
{ int a[200],max;
char * m=malloc(sizeof(char)*200);
scanf("%s",m);
int_convert(m,a);
getch();
}
然后将其绑定到model_removed: function(m) {
// find m's chunk of the view inside this.$el
// and remove it.
this.$('whatever-selector-you-need').remove();
}
事件:
'remove'
演示:https://jsfiddle.net/ambiguous/fL0zr67s/
或者,您可以嵌套视图,以便每个模型都有一个子视图和集合的整体视图。集合视图将根据需要创建和呈现模型视图,然后只需在子视图上调用remove
以响应集合中的this.listenTo(this.collection, 'remove', this.model_removed);
事件。