Go では、変数が更新されたときにテンプレートの一部を選択的に更新するためのネイティブ サポートがありません。この機能を実現するには、カスタム アプローチが必要です。
1.リファクタリング テンプレート:
{{define "name"}} アクションを使用して部分テンプレートを作成し、「Addresses」セクションをレンダリングするテンプレートを分離します。この部分テンプレートを別のファイルに配置するか、{{template "name"}} を使用してローカルに埋め込みます。
2.ハンドラーの作成または変更:
「アドレス」部分テンプレートを排他的に実行およびレンダリングするハンドラーを定義します。このハンドラーは、その出力を HTTP 応答に直接送信する必要があります。別のハンドラーを作成するか、既存のハンドラーを変更して、完全なテンプレートと部分的な「アドレス」レンダリングの両方を処理できます。
3.クライアント側の変更:
「Addresses」セクションを動的に更新する場合は、そのセクションのみのレンダリングを担当するハンドラーに対して AJAX リクエストを開始します。 「Addresses」セクションのラッパー要素の HTML コンテンツを、AJAX 呼び出しからの応答テキストに置き換えます。
この動的更新のクライアント側のコードは次のようになります。
var addresseesElement = document.getElementById("addressees"); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { addresseesElement.outerHTML = xhr.responseText; } } xhr.open("GET", "path-to-addresses-render", true); xhr.send();
Gowut、a Go 用のシングルページ Web アプリケーション フレームワークは、部分的なテンプレート更新に対して同様の機能を提供します。開発者は実装の詳細について Gowut の js.go ファイルを参照できます。
以上がGo で変数の更新を使用してテンプレート セクションを動的に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。