车把部分与渲染与模板

Posted

技术标签:

【中文标题】车把部分与渲染与模板【英文标题】:Handlebars partial vs. render vs. template 【发布时间】:2013-01-19 18:30:35 【问题描述】:

Fire Up Ember.js screencast 使用 partialtemplaterender 在模板中渲染模板,但我仍然不确定何时使用哪个模板。

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

有人可以澄清partialtemplaterender 之间的区别以及何时(示例)使用哪个?

【问题讨论】:

【参考方案1】:

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

“render”为您提供了一个完整的视图/控制器/模板上下文以供使用。

一个示例是包含动态片段的顶部导航。内容将在 TopNavController 中维护,并使用“render”插入到应用程序模板中

"partial" 将插入一个模板,但该模板将使用当前上下文而不是它自己的上下文。 Partial 也是框架中较新的部分,意在一定程度上替代使用模板。

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

"template" 只是使用当前上下文插入模板。我认为虽然使用模板在模板内渲染片段不是很好的风格,但您应该使用“部分”,尽管模板在大多数情况下会以相同的方式工作。

【讨论】:

这很有帮助,谢谢。能否详细说明render/partialviewcontrol之间的区别?【参考方案2】:

ember 网站上给出的chart 很好地比较了渲染、局部和视图。

这是网站中给出的比较的sn-p图像:

【讨论】:

拉出与发帖者问题相关的sn-ps可能不会有什么坏处。 我无法告诉你我通过这个答案来获得该图表多少次。【参考方案3】:

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

【讨论】:

以上是关于车把部分与渲染与模板的主要内容,如果未能解决你的问题,请参考以下文章

如何将主干视图连接到流星车把模板?

从木偶视图重新加载部分车把将无法访问为父视图中的部分模板元素定义的 ui 对象

如何从车把模板访问主干模型的计算字段?

如何从车把模板访问主干模型的计算字段?

无法将车把数据导入模板

来自 Jade 模板的车把条件检查属性