Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 如何更新主干或脊椎中的小部分视图_Backbone.js_Spine.js - Fatal编程技术网

Backbone.js 如何更新主干或脊椎中的小部分视图

Backbone.js 如何更新主干或脊椎中的小部分视图,backbone.js,spine.js,Backbone.js,Spine.js,主干/脊椎中的常见模式是在发生某些情况时从头开始重新渲染整个视图 但是,如果只需要更新其中的一小部分(高亮显示、选择、禁用、设置动画等),您会怎么做 重新呈现所有内容没有任何意义,因为它可能会破坏当前布局(例如,如果页面已滚动到某个点) 另一方面,如果使用类似于$('.selected').highlight()的内容从视图中“内联”更新小部件,则必须在视图模板和JavaScript代码中复制相同的逻辑 那么主干/脊椎中的“最佳实践”是什么呢?在脊椎中,使用元素模式:在房子的主干侧,您将使用相同

主干/脊椎中的常见模式是在发生某些情况时从头开始重新渲染整个视图

但是,如果只需要更新其中的一小部分(高亮显示、选择、禁用、设置动画等),您会怎么做

重新呈现所有内容没有任何意义,因为它可能会破坏当前布局(例如,如果页面已滚动到某个点)

另一方面,如果使用类似于
$('.selected').highlight()的内容从视图中“内联”更新小部件,则必须在视图模板和JavaScript代码中复制相同的逻辑


那么主干/脊椎中的“最佳实践”是什么呢?

在脊椎中,使用元素模式:

在房子的主干侧,您将使用相同的jquery。。。就在主干视图中。我在博客上写道:

在这种情况下,忽略pushstate、seo和可访问性语言。您所追求的是渐进式增强理念

最好的方法是创建一个小的“局部”视图,然后在需要更新时进行更新。您甚至可以拥有一个只包含一个简单输入字段的视图,并在其更改时进行更新。。。可能有更好的方法,但我在当前项目中使用这个方法没有任何问题。一个问题是,在这种情况下,您有很多视图,但无论如何,最好有很多意大利面代码。。。实际上,主干网只不过是组织代码的好工具。