問題タブ [go-templates]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - テンプレート関数に移動
Funcs
と を使用しようとすると、Go テンプレートで奇妙なことに気付きましたFuncMap
。次のコードは期待どおりに機能します。
しかし、テンプレートをファイルに入れようとすると、機能しません (Execute()
言う: "alex" is an incomplete or empty template
):
template.html を使用:
理由はありますか?これはバグですか?テンプレートでメソッド/関数を使用する簡単な方法はありますか?
go - Go テンプレートからメソッドを呼び出す
私が持っているとしましょう
html/template からこのメソッドを使用するにはどうすればよいですか? テンプレートには次のようなものが必要です。
go - テキスト/テンプレートの問題Parse()とParseFiles()
text/templateパッケージを使って簡単な作業をしようとしています。テンプレートの上部にあるサンプルは、私が使用しているものです。
'解析された'ファイルをtemplate.ParseFiles()
適切に読み取って実行するようにするにはどうすればよいですか?
私はこのコードのコピーをここのgolang遊び場に投稿しています
編集#1:私はこの問題についていくつかの調査を行ってきました...それExecute()
は実際に例外をスローするメソッドであり、ParseFiles()
一部ではないため、メソッド定義を確認しました:
したがって、私は、インラインの「非ファイル」スタイルのt.Treeの値をダンプしました。tmplは次のとおりです。、で実行した場合、tmplは次のように&parse.Tree{Name:"test", Root:(*parse.ListNode)(0xf840030700), funcs:[]map[string]interface {}(nil), lex:(*parse.lexer)(nil), token:[2]parse.item{parse.item{typ:6, val:""}, parse.item{typ:9, val:"{{"}}, peekCount:1, vars:[]string(nil)}
なりParseFiles()
ます(*parse.Tree)(nil)
。1つが間接参照であり、1つの値がポインターであるのは奇妙だと思います。これは謎を解くのに役立つかもしれません
go - golang で template.ParseFiles を使用した複数のファイル
たとえば、私は持っています
header.html で:
footer.html で:
に行くとhttp://localhost:8080/
、「Title is My title」しか表示されず、2 番目のファイル footer.html は表示されません。template.ParseFiles で複数のファイルを読み込むにはどうすればよいですか? これを行う最も効率的な方法は何ですか?
前もって感謝します。
mysql - MySQL から Go テンプレートに値を渡す方法
テンプレートに値を渡すこの構造体
処理するこの関数HandleFunc("/", mysqlWithTempl)
そしてこのテンプレ
私の質問は、mysql からより多くの値を取得してテンプレートに渡す方法です。
試してみると
すべての結果がフェッチされましたが、すべてが繰り返されました
go - 解析されたテンプレートの名前を指定する
フォルダー内のウォークを使用してファイルを動的に解析しようとしていますが、ファイル「path/file.html」のパスを設定できるようにしたいと考えています。ExecuteTemplate
しかし、私の問題は、フォルダー「path/folder/files.html」にファイルがある場合、ファイル名が同じ「files.html」になるため、実行できないことです。各テンプレートに I ParseFiles という名前を付けることはできますか?
一度にすべてを実行しようとしてもうまくいかない場合は、ファイルを 1 つずつ実行しても問題ありません。
go - グローバル テンプレート データ
実行すると、データをテンプレートに送信して情報を置き換えるためにExecuteTemplate
使用するすべての例が表示されます。&whateversruct{Title: "title info", Body: "body info"}
私が持っているすべてのハンドラー関数が同じタイトル、ボディを持つことはないので、ハンドラー関数の外に構造体を作成する必要がないかどうか疑問に思っていました。テンプレート情報を置き換えるマップを送信できると便利です。考えやアイデアはありますか?
現在 - 大まかに書かれています
構造体を作成する必要はないようです。また、構造体は、作成する関数ごとに同じではありません。したがって、関数ごとに構造体を作成する必要があります(私が知っている)。
slice - スライス要素にインデックスを付ける方法は?
私はスライスを持っています:Keys []* datastore.Key
テンプレートファイルでそれらの1つにインデックスを付けるにはどうすればよいですか?推測{{.Keys[3] }}
しましたが、うまくいきませんでした。たくさん検索しましたが、手がかりがありませんでした。
どんな提案でも歓迎します、ありがとう。
go - ファイルの動的解析
ファイルを解析するために、template.ParseFiles の変数を設定しました。現在、各ファイルを手動で設定する必要があります。
2つのこと:
各ファイルを個別に手動で追加する必要がないように、メイン フォルダーと多数のサブフォルダーを調べて自動的に ParseFiles に追加するにはどうすればよいでしょうか?
現在、ParseFiles に同じ名前のファイルを追加すると実行時にエラーが発生するため、サブフォルダーで同じ名前のファイルを呼び出すにはどうすればよいでしょうか。
go - Go langテンプレート:常に文字列を引用し、コメントを削除します
このGoコードは常に文字列を引用します:テンプレート内のhttp://play.golang.org/p/8k4s8dv2PE-結果を確認できます。どうすれば生成できvar currentUser = null
ますか?また、コードからすべてのコメントが削除されることに注意してください。どのように調整されていますか?この質問は、私のGoの続きです:テンプレート内の引用符で囲まれた文字列。