在平板php代码中我可以像这样写这行,我得到我想要的图像
imageString = "<image src=\"" + pieceFileName + "\" class=\"Piece clickElement " + rankName + " " + fileName + "\"/>";
但是用javascript symfony怎么样?
我尝试编写这样的代码,但它确实没有用
imageString = "<img src=\"""{{ asset(' \""+ pieceFileName +"\" ')}}""\" class=\"Piece clickElement " + rankName + " " + fileName + "\"/>";
完整代码
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 :(得分:3)
与PHP一样,Twig将在第一次渲染/调用服务器时运行。所以它不能像你那样与动态的代码部分结合起来。
但是,如果所有这些图像都在同一个文件夹中,为什么不直接保存到那个?
<script>
var guiPiecePre = "{{ asset('images') }}";
</script>
一旦你定义了它,就连接到这个字符串以获得正确的路径,如此
pieceFileName = guiPiecePre + SideChar[PieceCol[pce]] + PceChar[pce].toUpperCase() + ".png";
关键是,guiPiecePre
将具有静态值(如果检查源,您甚至可以在呈现的HTML中看到它),并且在需要时通过JS附加动态部分。