从树枝传递信息到JavaScript
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 5.3,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
数据属性,然后在JavaScript中读取它们。例如:
1 2 3
<div类=“js-user-rating”data-is-authenticated="{{app.user ?'true': 'false'}}"><!——……-->div>
在JavaScript中获取这个:
1 2 3 4 5 6 7
文档.addEventListener (“DOMContentLoaded”内,函数(){varuserRating =文档.querySelector (“.js-user-rating”);varisAuthenticated = userRating.dataset.isAuthenticated;//或使用jQuery//var isAuthenticated = $('.js-user-rating').data('isAuthenticated');});
请注意
当从JavaScript访问数据属性,属性名从虚线样式转换为驼峰样式。例如,data-is-authenticated
就变成了isAuthenticated
而且data-number-of-reviews
就变成了numberOfReviews
.
的值没有大小限制数据-
属性,因此您可以存储任何内容。在Twig中,使用html_attr
转义策略,以避免混淆HTML属性。例如,如果你用户
对象具有一些getProfileData ()
方法返回一个数组,您可以执行以下操作:
1 2 3
<divdata-user-profile="{{app.user ?app.user.profileData |json_encode| e (html_attr)}}"><!——……-->div>
1 2 3
<div类=“js-user-rating”data-is-authenticated="{{app.user ?'true': 'false'}}"><!——……-->div>
1 2 3 4 5 6 7
文档.addEventListener (“DOMContentLoaded”内,函数(){varuserRating =文档.querySelector (“.js-user-rating”);varisAuthenticated = userRating.dataset.isAuthenticated;//或使用jQuery//var isAuthenticated = $('.js-user-rating').data('isAuthenticated');});
请注意
当从JavaScript访问数据属性,属性名从虚线样式转换为驼峰样式。例如,data-is-authenticated
就变成了isAuthenticated
而且data-number-of-reviews
就变成了numberOfReviews
.
数据-
属性,因此您可以存储任何内容。在Twig中,使用html_attr
转义策略,以避免混淆HTML属性。例如,如果你用户
对象具有一些getProfileData ()
方法返回一个数组,您可以执行以下操作:1 2 3
<divdata-user-profile="{{app.user ?app.user.profileData |json_encode| e (html_attr)}}"><!——……-->div>
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。