2016-12-21 7 views
-2

テンプレートにif elseブロックがあります。 elseまたはelse ifが ではないかのようにelse ifここGolangのテンプレートが正常に動作しない

それは常に空にレンダリングされる事実であるが、私のテンプレートは、この場合に

in this case あるとき、それは enter image description here

そしてまた、私は何もレンダリングしませんtext/templateを使用すると、html/templateが完全に空のページを送信するため、

//the template 
    <script> 
        {{if.PassChange}} 
        swal("{{.Lang.Success}}", "{{.Lang.PleaseLogin}}", "success") 
        {{end}} 
        {{if.UserExists}} 
        swal("{{.Lang.Fail}}", "{{.Lang.AlreadyMember}}", "error") 
        {{end}} 
    </script> 




//rendering part 
    BasePath.Get("/", func(w http.ResponseWriter, r *http.Request) { 
     tpl.ExecResponse(w, struct{Lang map[string]string ; UserExists bool}{Lang:lang.GetLang(r),UserExists:true}) 
    }) 
+0

イメージと特に2番目のイメージは読みにくいです。テキストを質問に貼り付けてください。また、どのようなライブラリを使ってテンプレートをレンダリングしていますか? –

+0

@MellowMarmotはちょうど – nikoss

+0

を更新しました。否定的な投票をした銀河の賢い人たちは、あなたがなぜこれが愚かな質問であると信じられないほどの知識を共有してくださいますか? – nikoss

答えて

3

テンプレートを実行したときにエラーが表示された場合、テンプレートでフィールドPassChangeを評価できないことがわかります。 1つの可能な修正は、構造体にPassChangeフィールドを追加することです。

tpl.ExecResponse(w, struct{PassChange bool; Lang map[string]string ; UserExists bool}{Lang:lang.GetLang(r),UserExists:true}) 
+0

もしできれば、 – nikoss

関連する問題