Backbone - 避免在每次删除时重新呈现

时间:2015-07-11 01:43:52

标签: javascript backbone.js

我希望避免重新渲染每个'添加删除重置' Backbone.Collection上的事件。

所以在Backbone.View中我可能有:

catch

如果删除/删除一堆模型,它会为我删除的模型渲染。

避免这种情况的最佳方法是什么?

1 个答案:

答案 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); 事件。