tmpl.Execute 和子文件 golang

我需要帮助。我需要在子文件(,我的文本中的示例)中使用"html/template"的标记({{.Title}},示例"article.html"):


// ...

type Page struct {

    Test string

}


type News struct {

    Page

    Title string

}


func main() {

    t, _ := template.ParseFiles(filepath+"core.tmpl", filepath+"article.tmpl")

    p := &News{

        Title: "TITLE",

        Page: Page{

            Test: "TITLE",

        },

    }

    t.Execute(wr, p)

}

代码core.tmpl:


{{template "article"}}

代码article.tmpl:


{{define "article"}}

{{.Title}}<br><br>

{{.Page.Test}}

{{end}}


喵喵时光机
浏览 282回答 1
1回答

慕勒3428872

在core.tmpl你必须使用{{template "article" .}}如果.最后没有指定,模板将与nil数据一起执行。指定.将传递.给调用模板的值。引用text/template包文档,Actions部分:{{template "name"}}&nbsp; &nbsp; The template with the specified name is executed with nil data.{{template "name" pipeline}}&nbsp; &nbsp; The template with the specified name is executed with dot set&nbsp; &nbsp; to the value of the pipeline.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go