JSRender 将两个 "datasets" 传递给模板

JSRender pass two "datasets" to template

我有这个工作模板:

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

<div class="ms-PanelPoultry">
<button class="ms-Button" id="*****" style="visibility: hidden";>
<span class="ms-Button-label">Open Panel</span> 
</button>
<div class="ms-Panel ****">
<div class="ms-Panel-contentInner">
  <p class="ms-Panel-headerText"></p>
  <div class="ms-Panel-content">
    <span class="ms-font-m">
        <span style="color:#006; font-size:large">***</span>
        <hr>
        <form id="*****">
        <table width="100%" border="0">

                {{for}}
                    {{if (#index) % 3 === 0 }}
                     </tr>
                     <tr>
                     <td>
                        <div class="form-group">
                            <label for={{>name}}>{{>label}}</label>
                            <input type={{>type}} class="form-control" id={{>name}}>
                        </div>
                    </td>

                    {{else}}
                        {{if #index === 0 }}
                            <tr>
                                <td>
                                    <div class="form-group">
                                        <label for={{>name}}>{{>label}}</label>
                                        <input type={{>type}} class="form-control" id={{>name}}>
                                    </div>
                                </td>
                        {{else}}
                            <td style="padding-left:15px;">
                                <div class="form-group">
                                    <label for={{>name}}>{{>label}}</label>
                                    <input type={{>type}} class="form-control" id={{>name}}>
                                </div>
                            </td>
                        {{/if}}
                    {{/if}} 
                {{/for}} 
            </table>
            <hr>
            <table>
            <tr>
                <td>
                 <button type="submit" id="EditProductiebedrijfButton" class="btn btn-primary">Submit</button>
                 <button class="btn btn-secondary" type="Cancel" onClick="panelInstance.dismiss();">Cancel</button>
               </td>
            </tr>
        </table>            
    </form>
    </span> 
  </div>
</div>
</div>
</div>
</script>

它使用以下数据在 ms-panel 中创建一个表单:

var Updatefields = [
        { name: "field1", type: "text", label: "blabla" },
        { name: "field2", type: "text", label: "bla" },
    { name: "field3", type: "date", label: "blablaaa" }
   ];

这一切工作正常并呈现我的表单。但我想将一些额外的数据传递给 "header of the template"。 “*****”现在在哪里。例如 "form id".

我怎样才能做到这一点?

我还想对所有 "name" 值使用 "prefix"。例如名称是 "field3" 作为输入字段的 id 我想要 "field3Update"

我尝试进行一些字符串连接,但到目前为止失败了。

编辑:最后一个问题很简单。原来是这样做的:id={{>name}}Update

将附加数据作为数据与字段数组一起传递:

$("#xxx").render({
  fields: fields,
  other: otherData
});

otherData 在哪里

{
  whatever: ...,
  ...
}

然后写

<form id="{{>other.whatever...}}...">
  <table...>
    {{for fields}}

或作为助手传递附加数据 (http://www.jsviews.com/#tmplrender@helpers):

$("#xxx").render(fields, otherData, true);

然后写

<form id="{{>~whatever...}}...">
  <table...>
    {{for}}