[插件-Templater-疑问]关于使用JavaScript代码命令的格式问题

问题一:由于我没有系统学过JS,所以不是很理解官方这段代码里,为什么Templater使用JS代码的命令不是在前后加入<%*和%>,而是在每一行?


连接: Javascript Execution Command | Templater (silentvoid13.github.io)
问题二:<%~ %>这个命令的用途是什么?官方的文档看不明白。

Q1. Conditional output: 如果第一行的条件成立,就会输出第二行的内容。否则输出第4行的内容。
一般的xSP语法都是这样(ASP, JSP等)。

以JSP为例,如果不这样写,可以写成比较繁琐的形式:

<% 
  if (....)  {
    out.println("...");
  } else {
    out.println("...");
  }
%>

Q2. Templater好像没有<%~,只有下列几种:

  1. <% expression %>
  2. <%- program %>或<%_ program %> 减号或底线是抑制<%该行的newline输出
1 个赞

感谢,我也发现了第二行和第四行不是JS的代码,所以我也采用了繁琐的形式实现了。至于第二个问题,这是我在官方文档找到的描述,请见 Overview | Templater (silentvoid13.github.io)。图片如下:

哈,沒用過… 有空來試看看。

这个我也有个问题,才开始用Ob, 发现使用<% %>时命令不会被执行,预览显示的是代码,需要使用<%+ %>才可以,这是为什么?谁能帮忙解释一下。

<%+是動態即時執行,其他的是在透過Termplater建立新檔案時才會被執行。

哦,原来如此,明白了,谢谢。