把手部分与渲染对模板

时间:2013-02-04 22:50:51

标签: ember.js handlebars.js mustache

Fire Up Ember.js screencast使用partialtemplaterender在模板中呈现模板,但我仍然不确定我知道在哪个时使用。

在同一个截屏视频中,partial被解释为使用上下文和与当前控制器相关的所有数据,而render使用指定控制器的匹配模板,上下文等:

Fire Up Ember.js: partial versus Fire Up Ember.js

有人可以澄清partialtemplaterender和何时(示例)使用哪些内容之间的差异?

3 个答案:

答案 0 :(得分:37)

我理解它的方式,它们分解的方式是这样的:

"渲染"为您提供自己的整个视图/控制器/模板上下文。

示例将是包含动态片段的顶部导航。内容将在TopNavController中维护,并使用" render"

插入到应用程序模板中

"部分"将插入一个模板,但该模板将使用当前上下文而不是它自己的上下文。 Partial也是框架的一个新部分,意味着在某种程度上替换使用模板。

一个例子是显示一个用户列表,让每个用户都是列表中相对复杂的部分(头像,名称,电子邮件等),你可以循环遍历列表并在每个用户的上下文中插入部分用户。

"模板"只需使用当前上下文插入模板。我认为虽然使用模板在模板中渲染片段并不是一种好的风格,但你应该使用" partial"虽然大多数情况下模板的工作方式相同。

答案 1 :(得分:34)

在ember的网站上给出的chart给出了渲染,部分和视图之间的良好比较。

以下是网站上给出的比较的片段图片:

enter image description here

答案 2 :(得分:1)

就客户端内存使用而言,哪个更好,渲染或部分。 假设部分会更好,因为较少的较小的对象