根据Knockout中的结果动态更改标题和模板

时间:2014-09-16 15:25:45

标签: knockout.js

我正在寻找一种动态更改模板html标题和模板的方法。所以例如我有数据返回不同的列字段和列数,我需要相应的标题更改。有时我可以返回4列,有时10列。我不确定使用单一视图模型是否正确。或者解决这个问题的最佳方式是什么。

HTML

    <div id="GridSearch">

    <form>
        <input id="searchchild" type="text">
        <button type="submit" data-bind="click:PartnerSearchChildDetails">
        </button>
    </form>
    <div>Partner</div>
    <div>
        <select id="Partner" data-bind="options: Partners, optionsText: 'Partner', optionsValue: 'ID', value: selectedPartner, optionsCaption: 'Select'">
         </select>
     </div>

   <!-- This should change based on the result or option selected -->
     <div style="display: none" data-bind="visible:SearchResults().length>0">
        <div>Child ID</div>
        <div>Child Name</div>
    </div>

    <div id="PartnerSearchData" data-bind="template: { name:'TmplPartnerSearchResults', foreach: PartnerSearchResults }"></div>

    </div>

模板

这里我尝试使用if条件,但不确定如何更改HTML标题部分

  <script type="text/html" id="TmplPartnerSearchResults">  
       <!-- ko if: (objPartnerSearchDetails.ShowListing()==true) -->
              <div>
                   <div data-bind="text: ClientID"></div>
                   <div data-bind="text: ClientName">/div>
              </div>



      <!-- ko if: (objPartnerSearchDetails.ShowPLListing()==true) -->
              <div>
                   <div data-bind="text: PartnerID"></div>
                   <div data-bind="text: PartnerName">/div>
                   <div data-bind="text: PartnerMobile">/div>
               </div>
    </script>

0 个答案:

没有答案