2012-05-18 8 views
61

non riesco a vedere ciò che è sbagliato qui, ma l'immagine non viene visualizzata utilizzando il seguente modello Knockout:modello di Knockout utilizzando i dati-bind alla proprietà immagine src non funziona

<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> 

L'oggetto questo viene destinata a assomiglia questo:

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?"); 
    } 
}; 

Quando l'oggetto HTML è reso vedo l'etichetta e facendo clic sulla casella di controllo invoca doSomething.

TIA.

risposta

150

Solo pochi attributi possono essere associati direttamente; prova usando attr - ti permetterà di impostare qualsiasi attributo su un elemento.

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

Grazie per la risposta MA quando questo mi dà il seguente errore: Errore di runtime di Microsoft JScript: Impossibile analizzare i collegamenti. Messaggio: SyntaxError: Previsto ':'; Valore bind: attr {src: imagePath} –

+0

Capito, grazie. Dovrebbe essere

+22

scusate per questo - #note a self: non rispondere alle domande guardando nuovamente "Die Hard 3" di nuovo;) –

Problemi correlati