所以我有以下几行加载我的javascript。
<sly data-sly-use.clientLib="${'/libs/granite/sightly/templates/clientlib.html'}" data-sly-unwrap />
<sly data-sly-call="${clientLib.js @ categories='myhost.mycustomJS'}" data-sly-unwrap />
我有一个HTL属性(例如:$ {properties.myCustomProperty}),我想传递给myCustomJS。
有任何想法可以做到吗?
我已经环顾网络,但没有找到任何有用的东西。
谢谢。
答案 0 :(得分:7)
您正尝试使用客户端脚本访问服务器端属性。正如您可能意识到在服务器端执行时,渲染输出将返回给浏览器。在您的情况下,您需要将属性发送到浏览器,以使其可供客户端脚本使用。
var value = $('#mydiv').data('custom-property');
console.log(value);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mydiv" data-custom-property="${properties.myCustomProperty}" />
&#13;