0
点赞
收藏
分享

微信扫一扫

thymeleaf标识符号与js数组冲突问题


spring boot的御用模板thymeleaf,在js中嵌入的标识是连续两个中括号​​[[ ]]​​,比如

let imgPath = /*[[@{/images/map/legend/}]]*/'';

通常都不会有什么问题,但如果是在js中声明数组的话毛病就出来了。

昨天晚上我用echart搞一个仪表盘,怎么在沙盒中运行的好好的代码,放到项目中就不行?图像根本出不来。调试来调试去,发现问题出在这一句上:

color:[[0.2,'#C8FAFA'],[0.4,'#FFF000'],[0.6,'#FAAA0A'],[0.8,'#F00000'],[1,'#960000']]

只要有这句,铁定不行。排除什么特殊字符,最后醒悟有两个连续的中括号,与thymeleaf冲突了,被thymeleaf强行解释。修改一下就可以了:

var color = [];//避开thymeleaf两个中括号的陷阱
color.push([0.2,'#C8FAFA']);
color.push([0.4,'#FFF000']);
color.push([0.6,'#FAAA0A']);
color.push([0.8,'#F00000']);
color.push([1,'#960000']);


举报

相关推荐

0 条评论