我将使用assemble.io来制作一个简单的静态网站,但是{{title}}标签存在问题。以下是该问题的大致概述。
这是我的layout.hbs文件:
<!DOCTYPE html>
<html>
<head>
<title>{{title}}</title>
</head>
<body>
<!-- the body tag is used to "pull in" content from pages -->
{{> body }}
</body>
</html>
I have 2 json files for data:
foo1.json
{
"title": "Hello world I am title 1"
}
foo2.json
{
"title": "I am a different title"
}
And I have 2 pages:
foo1.hbs
{{#foo1 }}
{{> module1 }}
{{> module2 }}
{{> module3 }}
{{/foo1 }}
foo2.hbs
{{#foo2 }}
{{> module1 }}
{{> module2 }}
{{> module3 }}
{{/foo2 }}
以下是我的 gruntfile.js 代码片段:
options: {
layout: "src/responsive/layouts/layout.hbs",
partials: 'src/responsive/modules/**/*.hbs',
data: 'src/responsive/data/**/*.json',
flatten: false
},
pages: {
expand: true,
cwd: 'src/responsive/pages',
src: '**/*.hbs',
dest: 'src/'
}
当我运行'grunt assemble'时,没有页面标题。我认为这与上下文有关,如果我将layout.hbs中的
{{title}}
更改为{{foo1.title}}
或{{foo2.title}}
,它可以工作,但是由于它们共享此模板,因此两个页面都会得到相同的标题。如何使layout.hbs中的
{{title}}
上下文适用于传递的所有json文件?
{{page.title}}
吗?使用你的示例,它对我来说是正确的。 - raidendev