javascript - 在 Jade 中使用外部变量

标签 javascript variables pug

我在 script.js 中有一个变量 test。我在我的 index.jade 文档的头部引用了 script.js,如下所示:script(type="text/javascript")(src="scripts/script.js").

在我的 index.jade 文件中,我需要使用那个 test 变量,但是当我尝试这样做时,几乎在所有情况下我都会收到一个错误提示 “测试”未定义

我发现 body(onload="alert(test);") 可以访问 test 变量,但是 p # {test}p= test 无法访问它,这正是我需要工作的地方。

那么如何将变量从 script.js 传递到 index.jade 以便 Jade 识别它?提前感谢您的任何建议。

最佳答案

这是服务器端的javascript:

- var colors = ['red', 'green', 'blue']

这是客户端:

body(onload="alert(colors);")

因为客户端的这种颜色是未定义的。你可以这样做:

body(onload="alert(#{colors});")

编辑:

如果 colors 是客户端 javascript 变量,那么你应该这样做:

ul#myul

script
    window.addEventListener('load', function(){
        var ul = document.getElementById('myul');
        for(var i = 0; i < colors.length; i++){
            var li = document.createElement('li');
            li.innerHTML = colors[i];
            ul.appendChild(li);
        }
    })

编辑:

test是客户端变量,不能作为服务端js变量。要将它与 jade 一起使用,您应该首先在 nodejs 中像这样从服务器传递它:

res.render('myviewpath', { test: test });

关于javascript - 在 Jade 中使用外部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15031546/

相关文章:

javascript - ajax - jsp总是出现错误

javascript - 通过具有部分透明背景的元素触发事件

python - 为什么 Python 在函数中增加变量时会提示赋值前的引用?

javascript - 在 href 中使用 JavaScript 单引号和双引号

javascript - 在kineticJS中检测单个对象上的放置事件

html - 表单(方法 ='get' )适用于 Node.js,但状态 : pending in dev-tools

javascript - 如何在 Jade 模板中使用 Javascript 变量?

javascript - Jade,为什么变量在一种情况下用单引号发送,而在另一种情况下不加引号?

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

javascript - 创建备份阵列