如何用hinclude.js嵌入异步内容
编辑本页如何用hinclude.js嵌入异步内容
在模板中嵌入控制器是跨多个模板重用内容的方法之一。要进一步提高性能,可以使用hinclude.jsJavaScript库来异步嵌入控制器。
首先,包括hinclude.js页面中的库链接到它或者将其添加到应用程序JavaScript中使用Webpack Encore.
由于嵌入的内容来自另一个页面(或控制器),Symfony使用标准的一个版本ob娱乐下载呈现()
配置功能hinclude
模板中的标签:
1 2
{{render_hinclude(controller('…'))}}{{render_hinclude(url('…'))}}
请注意
当使用控制器()
功能时,还必须配置片段路径选项.
当JavaScript被禁用或需要很长时间加载时,你可以显示一个默认内容,呈现一些模板:
- YAML
- XML
- PHP
1 2 3 4 5
#配置/包/ framework.yaml框架:#……片段:hinclude_default_template:hinclude.html.twig
您可以定义默认模板呈现()
函数(该函数将覆盖已定义的任何全局默认模板):
1 2 3
{{render_hinclude(controller('…'),{default: 'default/content.html. {{render_hinclude(controller('…')),树枝'})}}
或者你也可以指定一个字符串作为默认内容显示:
1
{{render_hinclude(控制器 ('...'), { 默认值:“加载…”})}}
使用属性
选项定义hinclude.js选项的值:
1 2 3 4 5 6 7
{#默认情况下,跨站请求不使用cookie、授权头或TLS客户端证书等凭证;将此选项设置为“true”来使用它们#}{{render_hinclude(controller('…'),{attributes: {'data-with-credentials': 'true'}})}}{#默认情况下,加载内容中包含的JavaScript代码不会运行;将此选项设置为true以运行JavaScript代码#}{{render_hinclude(controller('…'),{attributes: {evaljs: 'true'}})}}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。