有个逻辑需求
需要js变量作为参数传入enjoy的shardMethod中
<script> var v = "123" alert('#(message('+v+'))') </script>
这样是直接报空指针的
然后我又尝试
<script> var v = "123" #set(_v = v) alert('#(message(_v))') </script>
也不行
我再尝试
#define test(v) #(message(v)) #end <script> var v = "123" #@test(v) </script>
3种方式都报空指针,传入的值始终为空,不知道有什么办法可以解决吗
alert('#(message('+v+'))');
上面代码中的 v, 仅仅会被 enjoy 看成是一个表达式的标识符而已,前方的 var v ="123" 是否存在完全感知不到,因为模板引擎的工作模式只能顾指令和表达式,此外的一切都只当成是纯文本
简单说,在模板引擎看来,一切 js 代码内容全是纯文本。 知道了上述原理,就知道了 js 中的所有东东是不可能让 enjoy 感知到的