把手部分对比渲染与模板
Fire Up Ember.js screencast使用partial
, template
, render
来渲染模板中的模板,但是我仍然不确定我知道在什么时候使用哪一个模板。
在同一个截屏中, partial
被解释为使用上下文和所有与当前控制器相关的数据,而render
使用指定控制器的匹配模板,上下文等:
有人可以澄清partial
, template
, render
和什么时候(例子)之间的差异使用?
我理解的方式,他们分解的方式是这样的:
“渲染”给你一个完整的视图/控制器/模板上下文自己的工作。
一个例子将是包含dynamic片段的顶部导航。 内容将在TopNavController中维护,并使用“渲染”插入到应用程序模板中
“部分”将插入一个模板,但该模板将使用当前的上下文,而不是自己的。 部分也是框架的一个较新的部分,意味着在一定程度上replace使用模板。
一个例子就是显示一个用户列表,让每个用户成为列表中比较复杂的部分(头像,姓名,电子邮件等),您可以循环访问列表并在每个用户的上下文中插入基于部分的部分。
“模板”只是使用当前上下文插入模板。 我相信虽然使用模板来渲染模板内部的元素并不是很好的风格,但是您应该使用“部分”,尽pipe在大多数情况下,模板将以相同的方式工作。
这个图表在ember的网站给出了渲染,局部和视图之间的一个很好的比较。
以下是网站中给出的比较片段的图片:
就客户端内存使用而言,哪一个更好,更好还是部分。 假设部分会比较less的对象更好