javascript - 获取模板中的小部件选项

标签 javascript node.js nunjucks apostrophe-cms

我知道可以向 index.js 添加别名,但这是 not recommended for NPM modules .

那么,如何将 options 对象等 JavaScript 变量传递给 Nunjucks 模板?

data.widget 仅包含 idtypeeditable。奇怪的是,它不包含标签

index.js

module.exports = {
  extend: 'apostrophe-widgets',
  label: 'Privacy Cookie Widget',

  [...]
}

小部件.html

<div class="[...]-widget">
  [...]

  {{ data.widget.label }} <!-- Nothing. -->

  [...]
</div>

home.html

[...]
{{ apos.singleton(data.[global|page], 'widgetName', 'widget-name', {}) }}
[...]

最佳答案

从模板中,您可以像这样访问小部件根选项配置

{{ apos.log(apos.modules['my-cool-widgets'].options.coolStuff) }}

其中coolStuffmy-cool-widgets/index.js中定义

module.exports = {        
  extend: 'apostrophe-widgets',        
  label: 'Cool Widg',
  coolStuff: {
    array: [1,2,3,4],
    hello: 'boom boom',
    hehe: true
  },
  addFields: [...]        
};

关于javascript - 获取模板中的小部件选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50994195/

相关文章:

javascript - Nunjucks 宏中的 If 语句不起作用

javascript - 尝试从 "Get"请求中获取数据

javascript - 是否可以从 JavaScript 中的 ECMAScript 6 类继承旧式类?

javascript - 通过在 contenteditable 上按 Enter 制作一个 <br> 而不是 <div></div>

node.js - socketio广播消息只发送给一个

javascript - 循环遍历 nunjucks 中的对象?

javascript - nunjucks 函数参数未定义

javascript - 错误: write EPIPE on sendFile()?

javascript - 通用池函数返回回调结果

node.js - 仅使用 Node.js 与将 Node.js 与 Apache/Nginx 一起使用