2016-03-23 4 views
2

Ich habe dieses Stück Code:Spanne verschwindet, während die Daten js Bindung Knockout

<div class="panelFoot" data-bind="foreach:InvestmentArray "> 
    <p class="text-center" data-bind="text: $data.ETE"> 
     <span data-bind="text:$data.symbol"></span> 
    </p> 
</div> 

Die span verschwindet aber, wenn ich die span außerhalb vom p bewegen funktioniert es. Sehr merkwürdig.

Also gibt es eine Möglichkeit, das zu beheben?

+0

zwei Fragen 1) etwas in InvestitionArray? 2) Gibt es JavaScript-Fehler? – gh9

+0

Ja, da sind Arrays drin – FaF

Antwort

2

Die text binding setzt den Inhalt des Elements auf einen Textknoten mit Ihrem Parameterwert. Alle vorherigen Inhalte werden überschrieben.

So Ihre text auf der p Bindung entfernt die span, die innerhalb des p ist.

Um dies zu beheben Sie die Bindung innerhalb des p mit der Verwendung der behälterlosen Syntax verschieben müssen:

<div class="panelFoot" data-bind="foreach:InvestmentArray "> 
    <p class="text-center" data-bind=""> 
     <!-- ko text: $data.ETE --><!-- /ko --> 
     <span data-bind="text:$data.symbol"></span> 
    </p> 
</div> 

Oder Sie eine andere Spanne hinzufügen:

<div class="panelFoot" data-bind="foreach:InvestmentArray "> 
    <p class="text-center" data-bind=""> 
     <span data-dind="text: $data.ETE"></span> 
     <span data-bind="text:$data.symbol"></span> 
    </p> 
</div>