我前面的問題:遍歷傑奇在項目Frontmatter陣列
menu_links:
- donate: "/donate"
- shop: "/shop"
我的循環:
{% for menu_link in page.menu_links %}
<div><a class="menu-item" href="{{ menu_link[1] }}">{{ menu_link[0] }}</a></div>
{% endfor %}
我在做什麼錯在這裏?
我前面的問題:遍歷傑奇在項目Frontmatter陣列
menu_links:
- donate: "/donate"
- shop: "/shop"
我的循環:
{% for menu_link in page.menu_links %}
<div><a class="menu-item" href="{{ menu_link[1] }}">{{ menu_link[0] }}</a></div>
{% endfor %}
我在做什麼錯在這裏?
它被定義被解析的方式:[{"donate"=>"/donate"}, {"shop"=>"/shop"}]
這樣你就能夠與訪問它們:
{{page.menu_links[0]['donate']}}
{{page.menu_links[1]['shop']}}
一個更好的將是:
menu_links:
donate: "/donate"
shop: "/shop"
所以你可直接訪問:
{{page.menu_links['donate']}}
{{page.menu_links['shop']}}
然後您的原始代碼將工作。
解決方案:
{% for menu_link in page.menu_links %}
{% for item in menu_link %}
<div><a class="menu-item" href="{{ item[1] }}">{{ item[0] }}</a></div>
{% endfor %}
{% endfor %}
每個項目需要通過第二次,以獲得鍵/值對中的每個menu_link的循環。
'item'不是無證的;只是在for循環中聲明。它可以是任何東西,即在'{%for foo in menu_link%}'中的'foo'和''在menu_link%中的%'中''' – DavChana
更新瞭解決方案:我需要在循環內循環以獲得密鑰/ val對。你的評論澄清了什麼,我順便說一句 – user3411192
謝謝,但我需要一個編程解決方案,因爲我使用的是Jekyll Admin,用戶可能需要在將來更改密鑰和/或值。 – user3411192