以下,我尝试使用Jquery模板打印替换的项目。在那里,我想设置一个变量 partHasBeenReplaced ,以后我可以用它来打印标签并关闭<span>
元素。
如何查找“ REPLACEMENT”类型的最后一个元素?它可能不是数组的最后一个元素。
{{each(i,ref) productReferences}}
{{if ref.referenceType == 'REPLACEMENT'}}
{{partHasBeenReplaced = 'true'}}
{{/if}}
{{/each}}
{{if partHasBeenReplaced == 'true'}}
<span class="text-danger font-weight-bold pt-2">
This item has been replaced with:
{{/if}}
{{each(i,ref) productReferences}}
{{if ref.referenceType == 'REPLACEMENT'}}
{{= ref.target.code}} ,
{{/if}}
{{/each}}
{{if partHasBeenReplaced == 'true'}}
</span>
{{/if}}
答案 0 :(得分:0)
为了使用此类模板将数据分配给元素,最好使用属性。我们可以使用JavaScript访问create / update / remove属性。
例如,如果您要为<span>
添加数据,则可以使用-
<span id="mySpan" class="text-danger font-weight-bold pt-2" partreplaced="{{partHasBeenReplaced}}" ></span>
可以使用以下方法在JavaScript中对其进行访问-
let span = document.querySelector("#mySpan");
let partreplaced = span.getAttribute('partreplaced');
console.log(partreplaced); //will print which was set in that attribute using the templating engine.
答案 1 :(得分:0)
没有像在JSTL中那样设置本地变量的简单解决方案。因此,我要做的是使用JS填充最终标记(如 partHasBeenReplaced )并将其设置为数据,然后再将其传递给Jquery模板。这样我就可以直接在模板中使用变量。