Javascript JsRender:使用if语句将JSON对象中的值与外部变量进行比较

Javascript JsRender:使用if语句将JSON对象中的值与外部变量进行比较,javascript,jsrender,Javascript,Jsrender,在我的JsRender模板中,我想过滤json对象,以便只呈现满足特定条件的记录——例如,父id,它是一个在执行呈现之前立即初始化的变量 下面是我想做的,但第二行语法只是一个猜测。如何做到这一点 <script id="tmpl_report_entry_table_data_rows" type="text/x-jsrender"> {{if ENTRY_ID==n_current_entry_id_from_external_variable}} <tr class="at

在我的JsRender模板中,我想过滤json对象,以便只呈现满足特定条件的记录——例如,父id,它是一个在执行呈现之前立即初始化的变量

下面是我想做的,但第二行语法只是一个猜测。如何做到这一点

<script id="tmpl_report_entry_table_data_rows" type="text/x-jsrender">
{{if ENTRY_ID==n_current_entry_id_from_external_variable}}
<tr class="attribute_data_row">
    <td class="entry_id attribute_data"><span>{{:ENTRY_ID}}</span></td>
    <td class="attribute_1 attribute_data hidden"><span>{{:ATTRIBUTE__1}}</span></td>
    <td class="attribute_2 attribute_data"><span>{{:ATTRIBUTE__2}}</span></td>
    <td class="attribute_14 attribute_data"><span>{{:ATTRIBUTE__14}}</span></td>
    <td class="attribute_13 attribute_data"><span>{{:ATTRIBUTE__13}}</span></td>
    <td class="attribute_11 attribute_date attribute_data"><span>{{:ATTRIBUTE__11}}</span></td>
    <td class="attribute_11 attribute_date_hidden"><span>{{:ATTRIBUTE__11}}</span></td>
    <td class="attribute_3 attribute_data"><span>{{:ATTRIBUTE__3}}</span></td>
    <td class="attribute_4 attribute_data"><span>{{:ATTRIBUTE__4}}</span></td>
    <td class="attribute_5 attribute_data">
        <a href="?"><span>{{:ATTRIBUTE__5}}</span></a>
    </td>
    <td class="cmd"></td>
</tr>    
{{/if}}
</script>

<script>
var obj_my_data = [
    {"ENTRY_ID":79,
        "test":true,
        "ATTRIBUTE__1":"Aleutian Islands",
        "ATTRIBUTE__2":"Arrowtooth Flounder",
        "ATTRIBUTE__13":"BSAI trawl limited access",
        "ATTRIBUTE__3":"Open",
    "ATTRIBUTE__4":"TAC",
    "ATTRIBUTE__5":"",
    "ATTRIBUTE__11":",",
    "ATTRIBUTE__14":"Entire GOA"},
    {"ENTRY_ID":80,
    "test":true,
    "ATTRIBUTE__1":"Aleutian Islands",
    "ATTRIBUTE__2":"Atka Macherel",
    "ATTRIBUTE__13":"BSAI trawl limited access",
    "ATTRIBUTE__3":"Open",
    "ATTRIBUTE__4":"TAC",
    "ATTRIBUTE__5":"",
    "ATTRIBUTE__11":",",
    "ATTRIBUTE__14":"Entire GOA"}
];

$(document).ready(function(){  
    $("table tbody").append($("#my_template").render(obj_my_data)); 
});
</script>

{{if ENTRY_ID==n_current_ENTRY_ID_from_external_variable}
{{:ENTRY_ID}
{{:ATTRIBUTE__1}}
{{:属性{uuu 2}}
{{:属性__14}
{{:属性{uuu13}
{{:属性{11}
{{:属性{11}
{{:属性{uuu 3}
{{:属性__4}
{{/if}
var obj_我的_数据=[
{“条目ID”:79,
“测试”:正确,
“属性1”:“阿留申群岛”,
“属性2”:“箭齿牙鲆”,
“属性13”:“BSAI拖网有限访问”,
“属性3”:“打开”,
“属性4”:“TAC”,
“属性__5”:”,
“属性11”:“,”,
“属性__14”:“整个果阿”},
{“条目ID”:80,
“测试”:正确,
“属性1”:“阿留申群岛”,
“属性2”:“Atka Macherre”,
“属性13”:“BSAI拖网有限访问”,
“属性3”:“打开”,
“属性4”:“TAC”,
“属性__5”:”,
“属性11”:“,”,
“属性__14”:“整个果阿”}
];
$(文档).ready(函数(){
$(“表tbody”).append($(“我的模板”).render(对象我的数据));
});

您可以将当前行值分配给数据对象的属性

$(document).ready(function(){
    obj_my_data.currentRow = n_current_entry_id_from_external_variable;
    $("table tbody").append($("#my_template").render(obj_my_data)); 
});
然后,您的模板可以检查此属性

<script id="tmpl_report_entry_table_data_rows" type="text/x-jsrender">
    {{if ENTRY_ID == currentRow}}
    // remaining template. 

{{if ENTRY_ID==currentRow}
//剩余模板。

您可以将当前行值分配给数据对象的属性

$(document).ready(function(){
    obj_my_data.currentRow = n_current_entry_id_from_external_variable;
    $("table tbody").append($("#my_template").render(obj_my_data)); 
});
然后,您的模板可以检查此属性

<script id="tmpl_report_entry_table_data_rows" type="text/x-jsrender">
    {{if ENTRY_ID == currentRow}}
    // remaining template. 

{{if ENTRY_ID==currentRow}
//剩余模板。

虽然您可以修改数据以携带当前行ID,但通过使用render方法传递参数来“参数化”模板通常同样容易(而且更干净)。您可以通过传入一个额外的上下文参数来实现这一点。它可以携带参数和助手函数,您可以仅为该模板渲染动态传入这些函数

$("#my_template").render(myData, {currentRowId: myCurrIdVar}));
然后,您可以从模板内(或嵌套模板内)访问这些命名参数,访问方式与访问已注册的帮助程序相同—在名称后面附加“~”

{{if ENTRY_ID==~currentRowId}}
    ...
{{/if}}

我添加了一个新的显示

虽然您可以修改数据以携带当前行ID,但通过使用render方法传入参数来“参数化”模板通常同样容易(而且更干净)。您可以通过传入一个额外的上下文参数来实现这一点。它可以携带参数和助手函数,您可以仅为该模板渲染动态传入这些函数

$("#my_template").render(myData, {currentRowId: myCurrIdVar}));
然后,您可以从模板内(或嵌套模板内)访问这些命名参数,访问方式与访问已注册的帮助程序相同—在名称后面附加“~”

{{if ENTRY_ID==~currentRowId}}
    ...
{{/if}}
我添加了一个新的显示