【问题标题】:AND operation in jsrenderjsrender中的AND操作
【发布时间】:2018-01-23 10:06:26
【问题描述】:

在 JS Render 模板中使用 AND(&&) 运算符,会引发异常。但是 OR(||) 运算符工作正常。

<svg width="100" height="100"  style="margin-top:-50px">
{{if orderValue === 0 && orderValue1 === 1}}
<circle cx="30" cy="30" r="20" fill="orange"></circle>
{{else}}
<circle cx="30" cy="30" r="20" fill="red"></circle>
{{/if}}
</svg>

演示链接:https://jsplayground.syncfusion.com/zpv4v5f1

错误详情

请提供解决此问题的建议。

【问题讨论】:

  • 我下面的回答对你有用吗?如果是,您可以将其标记为“已接受”吗?

标签: javascript jquery html jsrender


【解决方案1】:

您已经在&lt;div&gt; 元素中声明了您的模板。这不是一个好主意!您应该使用脚本元素。

<script id="template" type="text/x-jsrender">...

http://www.jsviews.com/#compiletmpl

模板标记不一定是有效的 HTML,因此将其放入 HTML &lt;div&gt; 或类似内容可能会导致浏览器对其进行修改。在您的情况下,浏览器正在转义 & 符号:{{if orderValue === 0 &amp;amp;&amp;amp; orderValue1 === 1}} - 因此它不再是有效的模板。

另外,您使用的 JsRender 版本是第一个测试版。从那时起,已经进行了许多修复和改进。最好使用最新版本,例如https://cdnjs.com/libraries/jsrender。 (见http://www.jsviews.com/#download

【讨论】:

  • 你的贡献太棒了,+1
  • @BorisMoore 一开始如何防止这种情况发生?
  • 这是标准的浏览器行为。你无法阻止它,但你不需要。使用脚本元素。浏览器不会转义脚本元素的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-07
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 2013-10-13
  • 2015-04-13
相关资源
最近更新 更多