目标是使用特定页面中前端部分中定义的变量。
这是我的文件系统结构:
_Components
这里我已经定义了前面的属性。
_Includes>部件
这里我想使用循环来引用_Components>中定义的变量。 c1.html页面。
我如何实现这一目标?
在我的_Includes>组件> c1.html我有以下代码:
<body class="full">
{% assign fullcomponents = site.components %}
{% for component in fullcomponents | where:"title","c1html" %}
{% component.title %}
{% endfor %}
<div class="container-fluid" id="componentscontainer">
<div class="col-md-12">
<div class="panel panel-primary" id ="panelcomponentlarge">
<div class="panel-heading" >
Chart C3 Line
</div>
etc...
当然,我错过了一些琐碎的事情。
第二次尝试
我发现我可以为此提供数据层,因此我尝试将此信息拆分为新的数据文件。
这里是components.json的内容
{
"Components": [
"ChartC3Line":{
"component":"ChartC3Line",
"description":"This is an attempt"
},
"ChartC3Lines":{
"component":"ChartC3Lines",
"description":"This is an attempt"
}
]
}
我试图通过以下代码获取此信息:
{% assign comp = site.data.components.Components[ChartC3Line] %}
HTML:
{% highlight html linenos%}
<p> Description: {{ comp.description }} </p>
但任何事情都会出现。
第三次尝试 我找到了一个解决方案,但我根本不喜欢这里的新json文件
{
"ChartC3":[
{
"component":"ChartC3Line",
"description":"This is an attempt"
}],
"ChartC4":[
{
"component":"ChartC3Line",
"description":"This is an attemptSSSSSSS"
}]
}
我不想拥有一个元素的几个数组的对象! 这里是检索正确信息的代码:
{% assign comp = site.data.components.ChartC4[0] %}
HTML:
{% highlight html linenos%}
<p> Description: {{ comp.description }} </p>
答案 0 :(得分:0)
<强>解决强> 遵循json文件的结构,我以更简单的方式更改了我的结构:
{
"ChartC3":
{
"component":"ChartC3Line",
"description":"This is an attempt"
},
"ChartC4":
{
"component":"ChartC3Line",
"description":"This is an attemptSSSSSSS"
}
} 现在我可以轻松访问正确的对象。
{%assign comp = site.data.components.ChartC3%}
HTML:
{% highlight html linenos%}
<p> Description: {{ comp.description }} </p>