首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dust.js -部分扩展基

Dust.js -部分扩展基
EN

Stack Overflow用户
提问于 2016-12-27 12:55:50
回答 1查看 208关注 0票数 1

我用NodeJS作为发动机。我对部分词有意见。我认为这是可能的,我想要的。这是我的index.dust:

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Project - {title}</title>
</head>

<body>
<div id="content">
    {>"common/navbar-logout"/}
    {+content /}
</div>
    {+scripts /}
</body>
</html>

我想“导入”公共/导航栏注销文件。在“公共/导航栏-退出”文件中,我有:

代码语言:javascript
复制
{>"index" /}
{! some HTML!}
{<scripts}
<script>
    console.log("yyyy");
</script>
{/scripts}

当我运行这个脚本时,我得到了:

在Object.dust.filters.h (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:296:16) at Object.dust.filter (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:290:34) at Chunk.reference (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:764:30) at body_0上超过了调用堆栈的最大大小。在load (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:151:14) at Chunk.partial (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:911:14) at body_0 (评估机:1:157) at load (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:151:14) at Chunk.partial (/APP_ )PATH/node_modules/dustjs-linkedin/lib/dust.js:911:14) at body_0 (评估机:1:661) at load (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:151:14) at Chunk.partial (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:911:14) at body_0 (评估机:1:157)PATH/node_modules/dustjs-linkedin/lib/dust.js:151:14) at Chunk.partial (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:911:14) at body_0 (评价机:1:661)

当我在"common/navbar-logout",应用程序中删除{>"index“/}时,运行,但在"common/navbar-logout" in 中没有脚本块”index“

我的目标是将脚本块从“公共/导航栏-注销”注入使用部分“{>”公共/导航栏-注销“/}”的“索引”。

EN

回答 1

Stack Overflow用户

发布于 2016-12-27 20:25:21

灰尘部分只能为它们自己包含的模板提供块。index不需要common/navbar-logout,而是必须将common/navbar-logout包含index作为部分。然后,它可以将其内联部分提供给index中的块。这并不适合您的用例。

为了完成您真正想要做的事情,我过去使用过一些自定义助手。就像这样:

代码语言:javascript
复制
{! some HTML!}
{@script}
    console.log("yyyy");
{/script}

dust.helpers.script = function(chunk, context, bodies, params) {
  if (params.src) {
    addScript(params.src); // adds to some global context var
  } else {
    chunk = chunk.write('<script>').render(bodies.block, context).write('</script>');
  }
  return chunk;
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41345638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档