JSRender传递了两个"数据集"到模板

时间:2018-05-14 10:08:48

标签: javascript jsrender

我有这个工作模板:

import * as filters from '@/helpers/filters';

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

<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>

这一切都正常,并呈现我的形式。但是我想将一些额外的数据传递给模板的#34;标题&#34;。在哪里&#34; *****&#34;现在。例如,&#34;表单ID&#34;。

我怎样才能做到这一点?

另外我想使用&#34;前缀&#34;我所有的名字&#34;值。例如,name是&#34; field3&#34;作为输入字段的id,我想要&#34; field3Update&#34;

我试着做一些字符串连接但是失败了。

编辑:最后一个问题非常简单。原来这样做:id = {{&gt; name}}更新

1 个答案:

答案 0 :(得分:0)

将其他数据作为数据传递,同时传递字段数组:

$("#xxx").render({
  fields: fields,
  other: 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}}