代码之家  ›  专栏  ›  技术社区  ›  user9410037

车把在标记中的每个车把外侧绑定

  •  1
  • user9410037  · 技术社区  · 6 年前

    在标记中每个“sectorsPressCoverageElements”之外的把手中绑定对象时,我遇到了一个问题。 这是我的json数据:

    {
      "name": "Rassegna",
      "page": 1,
      "pages": 7,
      "sectorsPressCoverageElements": [
        {
          "id": 25129,
          "media": "media",
          "linkMedia": "",
          "article": "article",
          "journalist": "",
          "linkJournalist": "",
          "publishingDate": "2017-11-23T09:00:00",
          "purchase": false
        },
        {
          "id": 25129,
          "media": "media",
          "linkMedia": "",
          "article": "article",
          "journalist": "",
          "linkJournalist": "",
          "publishingDate": "2017-11-23T09:00:00",
          "purchase": false
        }
      ],
      "categories": [
      ],
      "error": null
    }
    

    我的问题是绑定每个外部的“名称”。 此my markup with area将“data name”与name绑定(例如在json中:“name”:“Rassegna”):

    <script id="handlePressCoverage" type="text/x-handlebars-template">
        {{#each sectorsPressCoverageElements}}
        <tr data-id="{{id}}" data-category="0">
            @*<td> <input type="checkbox" class="select-element"></td>*@
            <td class="col-xs-2">{{#simplifyDate publishingDate}}{{/simplifyDate}}</td>    
                <text>
                    <td class="col-xs-1"><button data-id="{{id}}" data-name="{{HOW BIND NAME HERE??}}" class="btn btn-success btn-xs iPressShare">Save &nbsp<i class="iPressIconShare fas fa-share-alt"></i></button></td>
                </text>
        </tr>
        {{/each}}
    </script>
    

    并将数据传递给车把:

    var sourcePressCoverage = $("#handlePressCoverage").html();
    var templatePressCoverage = Handlebars.compile(sourcePressCoverage);
               $.getJSON(url, function (data) {    
                    $htmlsourcePressCoverage = $(templatePressCoverage(data));              
               });
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Anurag Singh Bisht    6 年前

    绑定 name 那是外面 each ,您可以使用 ../ segments 在车把上。这将根据父上下文评估它们的路径。

    例如,在你的情况下,简单地 ../name data-name 属性将导致 Rassegna

    <script id="handlePressCoverage" type="text/x-handlebars-template">
    {{#each sectorsPressCoverageElements}}
    <tr data-id="{{id}}" data-category="0">
        @*<td> <input type="checkbox" class="select-element"></td>*@
        <td class="col-xs-2">{{#simplifyDate publishingDate}}{{/simplifyDate}}</td>    
            <text>
                <td class="col-xs-1"><button data-id="{{id}}" data-name="{{../name}}" class="btn btn-success btn-xs iPressShare">Save &nbsp<i class="iPressIconShare fas fa-share-alt"></i></button></td>
            </text>
    </tr>
    {{/each}}