首頁 > 後端開發 > Golang > 主體

如何在 Go 的 text/template 套件中的模板之間傳遞資料?

DDD
發布: 2024-10-27 02:59:03
原創
627 人瀏覽過

How to Pass Data Between Templates in Go's text/template Package?

在模板之間傳遞資料

模板渲染中的一個常見要求是能夠在模板之間傳遞資料。在 Go 的文字/模板包中,這可以使用函數和模板呼叫技術的組合來實現。

要將簡單的數字作為附加參數傳遞給巢狀模板,您可以定義一個合併其參數的函數轉換為單一切片值。然後可以在模板呼叫中註冊並使用該函數。

這裡有一個範例:

<code class="go">func args(vs ...interface{}) []interface{} {
    return vs
}</code>
登入後複製
<code class="go">t, err := template.New("t").Funcs(template.FuncMap{"args": args}).Parse(...)</code>
登入後複製

在index.html範本中,使用args函式合併目前有附加參數的資料:

<code class="html">{{ template "image_row" args . 5 }}</code>
登入後複製

在image_row.html 範本中,使用索引內建函數存取參數:

<code class="html">{{ define "image_row" }}
   To stuff here {{ index . 0 }} {{ index . 1 }}
{{ end }}</code>
登入後複製

這種方法可讓您傳遞任意資料在範本之間建立更複雜且可重複使用的範本元件。

以上是如何在 Go 的 text/template 套件中的模板之間傳遞資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!