gpt4 book ai didi

javascript - jsrender if-else 使用 {{=propName}}

转载 作者:数据小太阳 更新时间:2023-10-29 06:03:18 25 4
gpt4 key购买 nike

我正在试用 jsRender。

我想做的事情:

JS 模板:

<script id="theaterTemplate" type="text/x-jquery-tmpl">
{{*
if ("{{=theaterId}}" == getCurrentTheaterId()) {
}}
<a class="active" href="#">
{{*
} else {
}}
<a href="#">
{{* } }}
{{=theaterName}}
</a>
</script>

在其他 JS 中:

function getCurrentTheaterId() {
return "523";
}

基本上,在模板中,如果迭代中的当前剧院 ID 与 js 函数返回的内容匹配,则将类设置为事件。 "{{=theaterId}}"在 if 条件中中断。我猜你不允许在 if 条件下访问当前的 json 属性。

关于如何做到这一点有什么想法吗?

希望这是有道理的。谢谢!

最佳答案

在他们的示例程序中,他们有这个:

$.views.allowCode = true;/

http://borismoore.github.com/jsrender/demos/step-by-step/11_allow-code.html

[编辑]

您必须“告诉”jsRender 关于外部函数的信息。这是一个工作示例:

   <script type="text/javascript">
function IsSpecialYear()
{
return '1998';
}

// tell jsRender about our function
$.views.registerHelpers({ HlpIsSpecialYear: IsSpecialYear });

</script>

<script id="movieTemplate" type= "text/html">

{{#if ReleaseYear == $ctx.HlpIsSpecialYear() }}
<div style="background-color:Blue;">
{{else}}
<div>
{{/if}}
{{=$itemNumber}}: <b>{{=Name}}</b> ({{=ReleaseYear}})
</div>

</script>

<div id="movieList"></div>

<script type="text/javascript">

var movies = [
{ Name: "The Red Violin", ReleaseYear: "1998" },
{ Name: "Eyes Wide Shut", ReleaseYear: "1999" },
{ Name: "The Inheritance", ReleaseYear: "1976" }
];

$.views.allowCode = true;

$("#movieList").html(
$("#movieTemplate").render(movies)
);

</script>

[编辑 2] 更复杂的 bool 条件:

    function IsSpecialYear(Year, Index)
{
if ((Year == '1998') && (Index == 1))
return true;
else
return false;
}

// tell jsRender about our function
$.views.registerHelpers({ HlpIsSpecialYear: IsSpecialYear });

</script>

<script id="movieTemplate" type= "text/html">

{{#if $ctx.HlpIsSpecialYear(ReleaseYear, $itemNumber) }}
<div style="background-color:Blue;">
{{else}}
<div>
{{/if}}

关于javascript - jsrender if-else 使用 {{=propName}},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8622045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com