2017-07-14 6 views
0

私は剣道MVVMを使用しています。このApisTemplateは「リモート」と呼ばれ、開かれます。問題は "PaxPreferenceTemplate"テンプレートにあります。 2つのソースバインディングがあります。最初の作品、つまりセグメントのみ。どうしてか分かりません 。あなたが使用する場合でも剣道MVVMと同じリモートテンプレートの2つのソースをバインドする

<label data-bind:"text: Segment.SegmentDetailsToDisplayPricing" ></label> 

まだ結果が同じです。私は

<div data-bind="source: Segment"></div> 

コメントならば、2行目は を作品

注正しい方法がどうなるか教えてください:ALLコードの下には、1つのファイルです。

<script id="ApisTemplate" type="text/x-kendo-template" class="KendoExtTemplate"> 

    <div> 
     <div data-bind="source: ApisVMList.PaxPreferenceBySegment" data-template="PaxPreferenceTemplate"></div> 

     <div style="text-align:center;"> 
      <button type="button" id="btnIssueTicket" onclick="SaveIssueTicket(this)" class="k-button k-primary Apis_submit " style="width: 100px; height: 25px; margin-right: 5px;"> 
       <i class="fa fa-floppy-o fa-inverse" aria-hidden="true"></i> Save 
      </button> 

      <button type="button" class="k-button " onclick="CloseApisWindow(this)" style="width: 100px; height: 25px;"><i class="fa fa-ban"></i> Cancel</button> 
     </div> 
    </div> 
</script> 


<script id="PaxPreferenceTemplate" type="text/x-kendo-template" class="KendoExtTemplate"> 

    <div data-bind="source: Segment" data-template="SegmentTemplate"></div> 

    <div data-bind="source: PaxInfo" data-template="PaxInfoTemplate"></div> 

</script> 

<script id="SegmentTemplate" type="text/x-kendo-template" class="KendoExtTemplate"> 
    <label data-bind="text: SegmentDetailsToDisplayPricing"></label> 
</script> 

<script id="PaxInfoTemplate" type="text/x-kendo-template" class="KendoExtTemplate"> 
    <div> 
     <label data-bind="text: Pax.PersonName"></label> 
     <input data-role="dropdownlist" 
       data-text-field="PassportNumber" 
       data-value-field="PassportNumberID" 
       data-bind="source: PossiblePassports" /> 

     <input data-role="dropdownlist" 
       data-text-field="FrequentFlyernumber" 
       data-value-field="FrequentFlyernumberID" 
       data-bind="source: PossibleFrequentFlyers" /> 
    </div> 



</script> 

答えて

1

あなたは2つの異なるタイプのリストと1つのアイテムがあるので、テンプレートを分割する必要があると思います。

<script id="ApisTemplate" type="text/x-kendo-template" class="KendoExtTemplate"> 

    <div> 
     <div data-bind="source: ApisVMList.PaxPreferenceBySegment" data-template="PaxPreferenceTemplate"></div> 
<div data-bind="source: ApisVMList.PaxPreferenceBySegment" data-template="PaxPreferenceTemplate_Second"></div> 

     <div style="text-align:center;"> 
      <button type="button" id="btnIssueTicket" onclick="SaveIssueTicket(this)" class="k-button k-primary Apis_submit " style="width: 100px; height: 25px; margin-right: 5px;"> 
       <i class="fa fa-floppy-o fa-inverse" aria-hidden="true"></i> Save 
      </button> 
      <button type="button" class="k-button " onclick="CloseApisWindow(this)" style="width: 100px; height: 25px;"><i class="fa fa-ban"></i> Cancel</button> 
     </div> 
    </div> 
</script> 

<script id="PaxPreferenceTemplate" type="text/x-kendo-template" class="KendoExtTemplate"> 
    <div data-bind="source: Segment" data-template="SegmentTemplate"></div> 
</script> 
<script id="PaxPreferenceTemplate_Second" type="text/x-kendo-template" class="KendoExtTemplate"> 
    <div data-bind="source: PaxInfo" data-template="PaxInfoTemplate"></div> 
</script> 
+0

PaxPreferenceTemplateに渡されたオブジェクトソースはCollectionのCollectionなので、私はテンプレートが必要です。私はPaxPreferenceTamplateを削除し、親HTMLにコードを配置することはできません。オブジェクトは、このような構造のもので、それ以来[0]がレンダリングされるべきPaxPreferenceBySegmentを知っているか、[1]等wouldntの レンダリング: https://jsfiddle.net/r9Lahs3f/ –

+0

私は私の応答を変更していると、2つに分割しますテンプレート。 – Ciccio

+0

Ciccio、データソース 'ApisVMList.PaxPreferenceBySegment'に2つの項目があるときに問題があります。 jsfiddle.net/9wduzvr1/2/ –

関連する問題