تم تضمين هذا بالفعل في الريبو، ولكن تم تحديثه للتحقق من البرنامج النصي.

باستخدام لغة HTML

يأتي HTMLX مزودًا بجميع الكلمات الرئيسية المفضلة لديك والملحقة بـ hx-.

# General format is hx-[verb]hx-get        # HTTP GEThx-post       # HTTP POSThx-put        # HTTP PUThx-patch      # HTTP PATCHhx-delete     # HTTP DELETEhx-swap       # update content of an elementhx-target     # specify element to affecthx-trigger    # action that executes function

هناك المزيد، ولكن هذه هي العناصر الرئيسية المستخدمة في هذا المشروع.

لإجراء اختبار بسيط، في ./internal/views/components/logo.templ، داخل علامة الفتح \\\"إضافة، سنقوم بإضافة hx-get=\\\"/\\\" وhx-trigger=\\\"click \\\".

افتح جهازك الطرفي وقم بتشغيل:

templ generatego run ./cmd/server/main.go

انتقل الآن إلى متصفحك وانتقل إلى المضيف المحلي:[YOUR PORT]/. انقر على Gopher، ويجب أن ترى... حسنًا، لقد حدث ذلك بسرعة كبيرة، وربما لم تلاحظ ذلك. هذا جيد. افتح أدوات المطور، وانتقل إلى علامة التبويب \\\"المفتش\\\". انقر فوق غوفر مرة أخرى. يجب أن تلاحظ التحديث في HTML في علامة التبويب \\\"المفتش\\\".

HX-SWAP

هذا هو خبز وزبدة HTMLX. وهذا ما يمنحنا واجهة المستخدم/تجربة المستخدم سريعة الاستجابة التي نبحث عنها. الآن، يحتاج hx-swap، رغم بساطته في الاسم، إلى دراسة متأنية لموقعه. وأعني بهذا عدم وضعه حيث يتداخل مع العناصر الأخرى.
مثال:

// container // end actor

سيؤدي وضع كل عناصر التحكم على الزر إلى مسح كل شيء ومنع عرض الزر للتحديث. ومع ذلك، إذا قمنا بنقل بعض العمل إلى الحاوية:

// container
  • // end actor
  • الآن، عندما ننقر على الزر، يتم تغيير البيانات الموجودة داخل الحاوية فقط، باستثناء أنه يوجد الآن زر لمزيد من التحرير.

    إضافة

    أتوقف هنا لسببين (2).
    أولاً، يمكنك استخدام htmx وتخصيص موقعك به كما هو. ثانيًا، يمكننا إرجاع كود html باستخدام http.Reponse. وبالامتداد، يمكننا تمرير مكونات templ أيضًا. هل ترى إلى أين يتجه هذا؟

    قريباً

    إعادة هيكلة كاملة ونقل الوظائف إلى Go HandlerFunc()s.

    \\\"Adding

    ","image":"http://www.luping.net/uploads/20241005/17281148536700f0a57a72a.png","datePublished":"2024-11-07T13:21:30+08:00","dateModified":"2024-11-07T13:21:30+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
    "إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"

    إضافة HTML إلى GO

    تم النشر بتاريخ 2024-11-07
    تصفح:867

    HTMX هو خليفة intercooler.js، حيث يتم استخدامه لتوسيع HTML بأوامر HTTP دون الحاجة إلى كتابة واجهة برمجة التطبيقات. الآن، أعرف في البداية أنني قلت إنني أقوم بإزالة طبقات التجريد، لكنني أكثر من مبرمج أنظمة/أدوات، لذلك ما زلت بحاجة إلى بعض التجريدات حتى أحصل على فهم لما يحدث بالفعل تحتها.

    المفهوم الأساسي

    ينشر HTML أوامر AJAX لتعديل أحد العناصر. هذا مشابه لكيفية عمل ReactJs. يسمح ReactJs بتحديث المحتوى، بينما يفي HTML بذلك بالنسبة لـ HTML.

    استيراد HTML

    تمت إضافة سطر واحد بسيط إلى عنصر ./internal/views/layout.templ

    .

    تم تضمين هذا بالفعل في الريبو، ولكن تم تحديثه للتحقق من البرنامج النصي.

    باستخدام لغة HTML

    يأتي HTMLX مزودًا بجميع الكلمات الرئيسية المفضلة لديك والملحقة بـ hx-.

    # General format is hx-[verb]
    hx-get        # HTTP GET
    hx-post       # HTTP POST
    hx-put        # HTTP PUT
    hx-patch      # HTTP PATCH
    hx-delete     # HTTP DELETE
    hx-swap       # update content of an element
    hx-target     # specify element to affect
    hx-trigger    # action that executes function
    

    هناك المزيد، ولكن هذه هي العناصر الرئيسية المستخدمة في هذا المشروع.

    لإجراء اختبار بسيط، في ./internal/views/components/logo.templ، داخل علامة الفتح إضافة HTML إلى GO، سنقوم بإضافة hx-get="/" وhx-trigger="click ".

    افتح جهازك الطرفي وقم بتشغيل:

    templ generate
    go run ./cmd/server/main.go
    

    انتقل الآن إلى متصفحك وانتقل إلى المضيف المحلي:[YOUR PORT]/. انقر على Gopher، ويجب أن ترى... حسنًا، لقد حدث ذلك بسرعة كبيرة، وربما لم تلاحظ ذلك. هذا جيد. افتح أدوات المطور، وانتقل إلى علامة التبويب "المفتش". انقر فوق غوفر مرة أخرى. يجب أن تلاحظ التحديث في HTML في علامة التبويب "المفتش".

    HX-SWAP

    هذا هو خبز وزبدة HTMLX. وهذا ما يمنحنا واجهة المستخدم/تجربة المستخدم سريعة الاستجابة التي نبحث عنها. الآن، يحتاج hx-swap، رغم بساطته في الاسم، إلى دراسة متأنية لموقعه. وأعني بهذا عدم وضعه حيث يتداخل مع العناصر الأخرى.
    مثال:

    // container // end actor
    // end-container

    سيؤدي وضع كل عناصر التحكم على الزر إلى مسح كل شيء ومنع عرض الزر للتحديث. ومع ذلك، إذا قمنا بنقل بعض العمل إلى الحاوية:

    // container
  • // end actor
  • // end-container

    الآن، عندما ننقر على الزر، يتم تغيير البيانات الموجودة داخل الحاوية فقط، باستثناء أنه يوجد الآن زر لمزيد من التحرير.

    إضافة

    أتوقف هنا لسببين (2).
    أولاً، يمكنك استخدام htmx وتخصيص موقعك به كما هو. ثانيًا، يمكننا إرجاع كود html باستخدام http.Reponse. وبالامتداد، يمكننا تمرير مكونات templ أيضًا. هل ترى إلى أين يتجه هذا؟

    قريباً

    إعادة هيكلة كاملة ونقل الوظائف إلى Go HandlerFunc()s.

    Adding HTMX to GO

    بيان الافراج تم نشر هذه المقالة على: https://dev.to/caffeineordeath/adding-htmx-to-go-2cah?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
    أحدث البرنامج التعليمي أكثر>

    تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

    Copyright© 2022 湘ICP备2022001581号-3