cms
cms copied to clipboard
recommendation
stl不够灵活,设置内容易与代码产生冲突(在标签中填入带有标签的内容,在js中填入带有引号的内容),当前多数网站为了便捷开发都使用了vue、react等框架,他们的数据基本上都在js代码中,极易出现该问题。并且在使用stl语法将会导致webpack、vite等打包工具无法打包。
-
建议增加单引号、双引号、反引号的转义。实体标签解析为压缩形式(避免换行导致报错),并增加参数指定实体解析的字段(避免将不需要的数据与隐私数据暴露)
-
建议使用js代码操作stl的输出,但不要将操作代码输出,模板格式改为反引号(该符号在js代码中不易产生冲突)。
例如:
内容:
{
"data":'标题'
}
模板:
`stl:content js:data=>data.title`
输出:
标题
不管stl模板语法如何变动都无法解决所有场景问题,强烈建议将js代码作为模板语法的参数,类似于isDynamic,但不是通过Ajax获取
如果用反引号是可以避免JS内嵌问题,不过js:data=>data.title这个不太理解,直接用type=title不好吗
如果用反引号是可以避免JS内嵌问题,不过js:data=>data.title这个不太理解,直接用type=title不好吗
我只是举个简单例子,“js:data=>data.title”的意思是这样的,js:表示参数为js代码,data=>data.title表示js函数(js的箭头函数),data表示内容,data.title表示返回内容中的标题,很多时候需要的并不是某一个字段,可能是一个数组,例如一组图片,或者是栏目的多个内容的字段,这时候用js代码处理将会非常方便。
收到,我们会在下个版本增加反引号支持。