Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
Meteor 流星-理解模板';渲染';电话_Meteor - Fatal编程技术网

Meteor 流星-理解模板';渲染';电话

Meteor 流星-理解模板';渲染';电话,meteor,Meteor,我对《流星》有点生疏,所以对于你们这些流星大师来说,这可能是一个微不足道的问题 我使用的模板有两个子模板: <template name="parent"> {{> child1}} {{> child2}} </template> {{>child1} {{>child2} 我注意到,当child2下的被动数据发生更改时,会调用parent.rendered和child1.rendered函数。 我对meteor文档的理解是,只应调用child2.re

我对《流星》有点生疏,所以对于你们这些流星大师来说,这可能是一个微不足道的问题

我使用的模板有两个子模板:

<template name="parent">
{{> child1}}
{{> child2}}
</template>

{{>child1}
{{>child2}
我注意到,当child2下的被动数据发生更改时,会调用parent.rendered和child1.rendered函数。 我对meteor文档的理解是,只应调用child2.rendered。所以,我所看到的不应该发生,但出于我无法理解的原因,它确实发生了

为了排除任何干扰,我删除了child1模板(只包含一个空div)。尽管如此,它的渲染函数仍被调用


谁能提供见解

这里只是假设,但我认为当任何反应性数据发生变化时,整个页面都会重新显示。例如,如果在
Session.get('test')
中有数据,并且只有在
child2
中插入了该数据的值,我相信整个页面仍然会重新加载。

这里只是假设,但我认为当任何反应性数据发生变化时,整个页面都会重新加载。例如,如果在
Session.get('test')
中有数据,并且只有在
child2
中插入了该数据的值,我相信整个页面仍然会重新呈现。

从Meteor 0.7.0.1开始,父模板将重新呈现,而同级子模板不会

下面是一个简单的Meteor应用程序示例,展示了这一点:


请记住,Meteor用户界面在Meteor 1.0登陆之前已经进行了彻底的修改,因此模板的工作方式可能会发生很多变化。

从Meteor 0.7.0.1开始,父模板将被重新呈现,而兄弟模板则不会

下面是一个简单的Meteor应用程序示例,展示了这一点:


请记住,Meteor 1.0登陆之前,Meteor用户界面正在进行彻底的检修,因此模板工作方式可能会发生很多变化。

这是一个非常有用的示例。谢谢你提出来。不过,在我的示例中,(空div)同级模板确实会被呈现(除了父模板之外),这与应用程序中的行为不同。我想知道是什么原因导致它这里一定有什么东西触发了失效(重新渲染)。你能用我的
meteor子模板隔离测试
示例并修改它,使它出现在那里吗?然后我们可以进一步了解它发生的原因。这是一个非常有用的例子。谢谢你提出来。不过,在我的示例中,(空div)同级模板确实会被呈现(除了父模板之外),这与应用程序中的行为不同。我想知道是什么原因导致它这里一定有什么东西触发了失效(重新渲染)。你能用我的
meteor子模板隔离测试
示例并修改它,使它出现在那里吗?然后我们可以进一步研究它发生的原因。