问题标签 [nunjucks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 将整数转换为字符串 Jinja
我有一个整数
在{% if %}
声明中,我必须将它与一些字符串进行比较。我不能curYear
在开头设置为字符串,因为我必须在循环中递减它。
我怎样才能转换它?
node.js - 如何在 nunjucks 中定义全局变量?
使用nunjucks,我如何定义一些应该在所有模板中始终可用的全局变量?
理想情况下,它们将在环境或配置选项中的某处指定,而不必在每次调用时合并到上下文字典中nunjucksEnvironment.render
。
nunjucks - 循环遍历对象属性 nunjucks
我有以下模型:
我想得到一个for
在我的模板(nunjucks)中获得一个循环,它会遍历所有“someId”。有谁知道怎么做?普通的 for 循环不起作用,因为它不是数组,而且由于我使用“someId..”作为另一个模板中的引用,因此我无法将其放入数组中。
任何帮助都是极好的。
javascript - 浏览器中 Nunjucks 的自定义过滤器
所以我在这里通过脚本标签添加了这个脚本。
然后在我的模板中
我在 Chrome 控制台中遇到的错误:
可能是非常简单的事情,但我就是无法让它工作。
这是我用于渲染的代码:
loops - 包含的 nunjucks 文件中的循环索引
所以我在 nunjucks 中遇到了一件我真的需要修复的奇怪东西。
想象一下,我在index.nj中有一个循环
现在在file2.nj我希望按如下方式处理循环索引:
由于某种原因,这不起作用,但奇怪的是,如果我首先在index.nj文件中添加对loop.index的调用,它会起作用。
IE
在上面的例子中,file2.nj可以调用loop.index本身。为什么它首先不知道 loop.index 但是当我预先调用它时(这也可以在if什么都不做,我测试过),文件确实可以访问它?
如果有人知道如何解决这个问题,我会非常高兴。
javascript - 使用 Nunjucks 进行异步重新渲染
我使用同步渲染的预编译模板文件,并且我想在这些模板中重新渲染数据块。这可能吗?如果可以,如何最好地做到这一点?
一个例子:
ajaxData 块首先呈现为空(使用块标签工作),并且应该使用异步数据重新呈现。
javascript - Nunjucks 包含意外地将文本插入 DOM
我正在将 Nunjucks 与 Express 和 node.js 一起使用。我很困惑为什么 Nunjucks 会导致将文本插入到不应该存在的 DOM 中。
例子:
模板/test.html:
测试.html:
生成的源代码如预期:
但是它并没有像我预期的那样呈现。检查 DOM 时:
正如预期的那样,如果我使用开发人员工具从 DOM 中删除“”,它会按照我的预期呈现。
如果有人解释这一点并提出一种防止它发生的方法,我将不胜感激。
提前致谢...
javascript - 包含在 nunjucks (grunt-nunjucks-2-html) 中的路径不正确
我通过 grunt 插件grunt-nunjucks-2-html将 Nunjucks 与 grunt/node 一起使用
我的根路径是 gruntfile 所在的位置,所以它看起来像这样:
我的 gruntfile 配置如下所示:
在我的index.html我有这个:
当我尝试grunt nunjucks
时,这就是我得到的
如果我将路径更改为可以解决,"src/inc/head/html"
但我不明白为什么我需要指定这个,这对我来说似乎不合逻辑。
你有什么要教给我的,我非常想念的东西吗?谢谢。
jinja2 - Jinja2 宏中的多个任意块
我同时使用 Jinja2 和 Nunjucks(取决于项目),但还没有弄清楚如何使用包含任意 HTML的多个块创建可重用元素。例如(伪代码):
将各个块的 HTML 作为常规参数(即字符串)传递给宏似乎不切实际。
一个不太人为的例子可能是 Bootstrap 样式的表单:
这里既可能是任意的 HTML 块$label
,$hint
也可能是在宏之外定义的多个字段。
这里推荐的方法是什么?
javascript - 跨节点和浏览器共享 nunjucks 过滤器
我试图找到一种方法让我的过滤器在两边都有效。
这是我在节点上的代码:
在浏览器端:
我想把我的过滤器放在一个可以在这两种不同环境中使用的地方,但我找不到这样做的解决方案。
在客户端,我使用的是 nunjucks-slim 版本。我的模板是使用 gulp 预编译的。
谢谢你的帮助 !