2012-05-18 4 views
61
arbeiten

ich nicht sehen kann, was ist hier falsch, aber das Bild zeigt nicht die folgende Knockout Vorlage:Knockout-Vorlage unter Verwendung von Daten-bind zu Bild src Eigenschaft nicht

<script type="text/html" id="legend-template">  
    <div><input type="checkbox" data-bind="click : doSomething" ></input> 
     <img width="16px" height="16px" data-bind="src: 'imagePath'" />   
     <span data-bind="text : label"> </span> 
    </div>   
</script> 

Die Aufgabe, dies zu Aussehen gebunden wird wie dies:

tut.myObject= function (imagePath, label) { 
    this.label = ko.observable(label); 
    this.imagePath = ko.observable(imagePath || liveString + '/Content/images/marker.png'); 
}; 

tut.myObject.prototype = { 
    doSomething: function() { alert("do what?"); 
    } 
}; 

Wenn das HTML-Objekt gemacht wird, ich das Etikett und klicken auf die Checkbox sehen ruft doSomething.

TIA.

Antwort

150

Nur wenige Attribute können direkt gebunden werden; Versuchen Sie es mit attr - Sie können jedes Attribut für ein Element festlegen.

<img width="16px" height="16px" data-bind="attr:{src: imagePath}" /> 
+0

Danke für die Antwort ABER wenn dies mir den folgenden Fehler gibt: Microsoft JScript Laufzeitfehler: Bindings kann nicht analysiert werden. Nachricht: SyntaxError: Expected ':'; Bindungswert: attr {src: imagePath} –

+0

Verstanden, danke. Sollte sein –

+22

sorry darüber - #note to self: nicht beantworten Fragen "Stirb langsam 3" wieder;) –