【问题标题】:Javascript function in NunjucksNunjucks 中的 Javascript 函数
【发布时间】:2019-01-18 03:51:28
【问题描述】:

所以我在 Nunjucks 文档中找到了这个:

函数调用

如果您已将 javascript 方法传递给您的模板,则可以像往常一样调用它。

{{ foo(1, 2, 3) }}

但我似乎无法正常工作,我尝试将我的函数放在 html 页面上的 <script> 标记中,但它不起作用。

我也尝试将它与数据一起传递给渲染函数:

{
    stuff: function (string, length) {
        while (string < length) {
            string = "0" + string
        }
    }
}

我得到:无法致电data["stuff"], which is undefined of falsey

【问题讨论】:

    标签: javascript templating nunjucks


    【解决方案1】:

    您可以使用addGlobal(请参阅g)或传递一个函数来渲染(请参阅f)。

    var nunjucks  = require('nunjucks');
    var env = nunjucks.configure();
    
    function f (s) {
        return s + s; 
    }
    
    function g (s) {
        return s + s + s; 
    }
    
    env.addGlobal('g', g);
    
    var res = nunjucks.renderString('{{f("OK")}} {{g("ok")}}', {f: f});    
    console.log(res);
    
    //Output: OKOK okokok
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多