如何从jade客户端java脚本调用函数

use*_*952 5 node.js pug

我的表单中有两个下拉列表。一旦用户从第一个列表中选择值,我想根据选择和显示来过滤第二个列表。为此,我使用第一个选择选项的 onchange="showSubCat(); 来获取所选值。showSubCat() 函数是在客户端 js 文件中定义的。如何获取 jade 模板中 showSubCat() 函数返回的值,以便我可以过滤填充第二个列表的数组。

var subcode = showSubCat();
Run Code Online (Sandbox Code Playgroud)

给出错误。

有什么建议么?谢谢。

jwe*_*rre 4

我自己对 Jade 很陌生,但据我所知,您有两种选择:

1)在jade本身中创建函数:

-function sayHi(name){
   - return "hello "+name
-}
p= sayHi('bill')
Run Code Online (Sandbox Code Playgroud)

我认为这让你的代码有点混乱。

2)更好的选择是从模型中传递函数

app.get('/', function(req, res){  
    res.render('home', { 
        title: 'Home'
        , fs: { sayHi:function(name){
            return "hello "+name
        }}
    });
});
Run Code Online (Sandbox Code Playgroud)

然后在你的玉文件中你只需:

p= fs.sayHi('bill')
Run Code Online (Sandbox Code Playgroud)