ホームページ >バックエンド開発 >Golang >Golang でテンプレートの部分を動的に更新するにはどうすればよいですか?

Golang でテンプレートの部分を動的に更新するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-23 22:58:11944ブラウズ

How Can I Dynamically Update Template Partials in Golang?

Golang でテンプレートの部分を動的に更新する

Golang では、変数が更新されたときにテンプレートの一部を動的に更新する機能はありません。本質的にサポートされています。ただし、この機能は次の手順を使用して実装できます。

1.テンプレートのリファクタリング:

{{define "name"}} アクションを使用して、「アドレス」リストを表示するテンプレートを独自のセクションに分離します。あるいは、{{template "name"}} を使用してメイン テンプレートに含めることも、{{block "name"pipeline}} T1 {{end}} でインラインで定義して実行することもできます。

2.ハンドラーの変更:

新しいハンドラーを作成するか、既存のハンドラーを変更して、「アドレス」テンプレートを排他的に実行およびレンダリングします。出力を w http.ResponseWriter.

に直接送信します3.クライアント側の変更:

「アドレス」リストを更新する必要がある場合は、手順 2 で作成したハンドラーに AJAX 呼び出しを発行します。

4.テンプレートの置換:

クライアント側の Javascript で、「Addresses」ラッパー タグの HTML コンテンツを AJAX 呼び出しから受信した応答テキストに置き換えます。

コード例:

var e = document.getElementById("addressees");
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
        e.outerHTML = xhr.responseText;
    }
}
xhr.open("GET", "path-to-addresses-render", true);
try {
    xhr.send();
} catch (err) {
    // handle error
}

Go のテンプレート エンジンにはこれに対するネイティブ サポートがありません。機能を使用するには、これらの手順により、テンプレートの部分を動的に更新するためのカスタマイズ可能なソリューションが提供されます。

以上がGolang でテンプレートの部分を動的に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。