pug如何设置动态src

问题描述 投票:0回答:1
script.
    
    let thisfilefullname = document.URL.substring(document.URL.lastIndexOf('/') + 1, document.URL.lastIndexOf('.'));
    let imgurl = './img';

    if(thisfilefullname.indexOf('localhost') == -1  && thisfilefullname != 'index') { imgurl = '../img'; } //'localhost' will be changed

h1.head_logo
                    a(href="/", title="홈으로 이동")
                        img(src= imgurl+"/logo.png", alt="description") //imgurl : undfined

有没有办法将一些变量内联到 pug 中? 我应该使用“document.getElementById(...)”吗?

image dynamic pug
1个回答
0
投票

Pug 在将任何代码发送到浏览器之前先编译服务器端。 Pug 属性插值(换句话说,像

src= imgurl
这样的东西)是作为编译过程的一部分进行评估的。

相比之下,您在

script
标签内编写的 JavaScript 在浏览器中运行客户端,after Pug 已完全编译。 Pug 无法访问客户端 JavaScript 中定义的变量,也无法访问
document
,因为它还不存在。

简而言之,您当前的代码尝试使用服务器上的变量,这些变量直到编译完成之后才定义,并且 Pug 不再是图片的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.