И операция в jsrender

Используя оператор AND(&&) в шаблоне JS Render, выдается исключение. Но оператор 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

Детали ошибки

Пожалуйста, предоставьте предложения, чтобы решить эту проблему.

1 ответ

Вы объявили свой шаблон внутри <div> элементы. Это не очень хорошая идея! Вы должны использовать элементы скрипта.

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

См. http://www.jsviews.com/.

Разметка шаблона не обязательно является допустимым HTML и поэтому помещает его в HTML <div> или подобное может привести к изменению браузера. В вашем случае браузер экранирует символы &: {{if orderValue === 0 &amp;&amp; orderValue1 === 1}} - и поэтому он больше не является допустимым шаблоном.

Кроме того, версия JsRender, которую вы используете, является первой бета-версией. С тех пор было много исправлений и улучшений. Было бы намного лучше использовать последнюю версию, такую ​​как https://cdnjs.com/libraries/jsrender. (См. http://www.jsviews.com/)

Другие вопросы по тегам