[英]Compiling Jade partial with different data
我正在使用gulp編譯靜態網站的Jade。 有一個gulp任務可以將所有的jade文件編譯成HTML文件。
我正在創建一個10步驟的過程,每個HTML頁面帶有“上一個”和“下一個”按鈕
我想創建如下的局部
a(href="#{prev}") Back
a(href="#{next}") Continue
對於每一頁,上一個和下一個值都會更改。 有沒有一種方法可以使用自定義的prev和next值從每個頁面的翡翠中調用局部?
我假設,就像您如何在把手模板中綁定數據並進行編譯一樣,我可以為每個頁面使用不同的locals對象,並使用不同的數據呈現相同的部分。
我是在處理這個錯誤,還是玉器有可能? 我看到的所有答案都與在Jade中使用express有關。 我只是在創建一個靜態網站,而實際上只是HTML。
如果您通過include
將更大的Jade模板包含在局部中,那么只需更改要渲染的更大模板的局部變量即可。
gulp.src('./templates/template-that-includes-a-partial.jade')
.pipe(gulpJade({
locals: {
prev: 'some value',
next: 'some other value'
}
})
.dest('./build/templates/');
這樣的事情應該起作用。 局部視圖應該具有與包含局部視圖的父視圖相同的本地權限。
我發現您可以在父模板中使用-
定義Jade變量,並使用此數據調用局部變量
- var prev = "a.html"
- var next = "b.html"
include partials/_var
然后在部分中使用插值以使用相應的值
a(href="#{prev}") Prev
a(href="#{next}") Next
這樣,我可以在不同的父模板中調用同一部分,但為每個頁面傳遞不同的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.