2017-04-19 18 views
2

in flachem PHP-Code kann ich schreibe gerade diese Linie so, und ich bekomme die Bilder Isymfony: Verwenden von Asset-Bildern mit Javascript?

imageString = "<image src=\"" + pieceFileName + "\" class=\"Piece clickElement " + rankName + " " + fileName + "\"/>"; 

wollen aber mit Javascript symfony wie?

Ich habe versucht, diesen Code so zu schreiben, aber es did't

imageString = "<img src=\"""{{ asset(' \""+ pieceFileName +"\" ')}}""\" class=\"Piece clickElement " + rankName + " " + fileName + "\"/>"; 

den vollständigen Code

function AddGUIPiece(sq,pce) { 
    var rank = RanksBrd[sq]; 
    var file = FilesBrd[sq]; 
    var rankName = "rank" + (rank + 1); 
    var fileName = "file" + (file + 1); 
    pieceFileName = "images/" + SideChar[PieceCol[pce]] + PceChar[pce].toUpperCase() + ".png"; 
    imageString = "<image src=\"" + pieceFileName + "\" class=\"Piece clickElement " + rankName + " " + fileName + "\"/>"; 
+0

@DarkBee ja und ich testete es mit helloworld Code vor dem Hinzufügen des Codes über – mrsharko

+1

Sie müssen Zweig als wie PHP. Es wird serverseitig gerendert. Hier versuchen Sie, ein anderes Asset basierend auf einer JS-Variablen '' 'pieceFileName''' zu erstellen, die clientseitig ist. Also, was Sie sehen, ist auf diese Weise unmöglich. Sie sollten vielleicht eher zu einer AJAX-Lösung gehen. Siehe die verwandte Frage: http://Stackoverflow.com/q/13840429/2123530 –

+0

@ b.enoit.be Sie haben Recht, so muss ich die Asset-Zeile auf der Zweigdatei dann fügen ich es an die Javascript-Datei was meinst du? – mrsharko

Antwort

3

Zweig, wie PHP arbeiten, auf der ersten Render/Anruf-Server ausgeführt wird . Es kann also nicht mit dynamischen Teilen des Codes kombiniert werden, wie Sie es getan haben.

Wenn sich jedoch alle diese Bilder im selben Ordner befinden, speichern Sie einfach den Pfad dazu?

<script> 
var guiPiecePre = "{{ asset('images') }}"; 
</script> 

Sobald Sie festgelegt haben, dass, wie

pieceFileName = guiPiecePre + SideChar[PieceCol[pce]] + PceChar[pce].toUpperCase() + ".png"; 

Der Schlüssel ist so für den richtigen Pfad zu dieser Zeichenfolge verketten, dass guiPiecePre einen statischen Wert haben (Sie es sogar im gerenderten sehen HTML, wenn Sie die Quelle überprüfen) und der dynamische Teil wird bei Bedarf über JS angehängt.

Verwandte Themen