Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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
Knockout.js 仅渲染模型更改的模板引擎_Knockout.js_Angularjs_Template Engine_Jquery Templates - Fatal编程技术网

Knockout.js 仅渲染模型更改的模板引擎

Knockout.js 仅渲染模型更改的模板引擎,knockout.js,angularjs,template-engine,jquery-templates,Knockout.js,Angularjs,Template Engine,Jquery Templates,是否有任何模板js库可以只呈现模型中的更改,而不是整个模型。 例如:如果模型是数据类型的数组 [{ 姓名:'1' 地址:'2' }, { 姓名:'3' 地址:'4' }] 最初,框架将把数据呈现为html视图。 当我更改模型(在数组中添加新元素)时,我只希望渲染更改(新元素),而不是重新渲染整个模型 我已经尝试过KnockoutJS,但是当模型更改时,整个视图将被重新渲染,而只是更改 如果将对象引用更改为新内容,则With绑定和模板绑定将重新呈现整个内容。相反,您应该只更改已更改的可观察对象的状

是否有任何模板js库可以只呈现模型中的更改,而不是整个模型。 例如:如果模型是数据类型的数组 [{ 姓名:'1' 地址:'2' }, { 姓名:'3' 地址:'4' }]

最初,框架将把数据呈现为html视图。 当我更改模型(在数组中添加新元素)时,我只希望渲染更改(新元素),而不是重新渲染整个模型


我已经尝试过KnockoutJS,但是当模型更改时,整个视图将被重新渲染,而只是更改

如果将对象引用更改为新内容,则With绑定和模板绑定将重新呈现整个内容。相反,您应该只更改已更改的可观察对象的状态

我的猜测是,您处于CRUD场景中,并且从后端接收到一个全新的模型?如果是这种情况,并且您不想使用映射插件重新渲染整个视图,它将更新旧对象上的观察值,因此不会重新渲染整个视图

I clarified my answer with a fiddle

如果将对象引用更改为新内容,则With绑定和模板绑定将重新提交整个内容。相反,您应该只更改已更改的可观察对象的状态

我的猜测是,您处于CRUD场景中,并且从后端接收到一个全新的模型?如果是这种情况,并且您不想使用映射插件重新渲染整个视图,它将更新旧对象上的观察值,因此不会重新渲染整个视图

I clarified my answer with a fiddle

AngularJS在大多数情况下只会更新绑定到发生更改的模型表达式的DOM节点,而其他DOM节点则保持不变。它甚至可以确保在对集合进行排序时重复使用DOM节点(使用
ng repeat
指令呈现集合)。显然AngularJS不仅仅是一个模板引擎!那么你对锦鲤做了错事,我同意安德斯的看法。敲除只呈现更改,您一定是做错了什么。显示您的代码并添加一个JSFIDE来演示。AngularJS在大多数情况下只会更新绑定到模型表达式的DOM节点,这些模型表达式会发生更改,而其他DOM节点则不会被更改。它甚至可以确保在对集合进行排序时重复使用DOM节点(使用
ng repeat
指令呈现集合)。显然AngularJS不仅仅是一个模板引擎!那么你对锦鲤做了错事,我同意安德斯的看法。敲除只呈现更改,您一定是做错了什么。显示您的代码并添加一个JSFIDE进行演示。