"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تمرير البيانات إلى القوالب المضمنة في Go؟

كيفية تمرير البيانات إلى القوالب المضمنة في Go؟

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

How to Pass Data to Included Templates in Go?

يعد تمرير البيانات إلى النماذج المعروضة في Go

تعد قوالب In Go، بما في ذلك قالب آخر، عملية مباشرة باستخدام القالب {{ "include- اسم القالب" }} بناء الجملة. ومع ذلك، في بعض الأحيان يصبح من الضروري تمرير بيانات إضافية إلى القالب المضمن.

تقديم تمرير المعلمات الديناميكية

فكر في سيناريو حيث تريد تمرير رقم إلى قالب ، "image_row.html"، الذي يستخدم هذا الرقم لإنشاء الصفوف ديناميكيًا. يتطلب هذا تمرير الرقم كوسيطة إضافية لاستدعاء القالب.

وظيفة مخصصة لتمرير وسيطات متعددة

نظرًا لعدم وجود دعم مدمج لتمرير وسيطات متعددة إلى قالب، يمكنك إنشاء وظيفة مخصصة لدمج الوسائط في شريحة واحدة. سجل هذه الوظيفة في Funcs واستخدمها في استدعاء القالب:

func args(vs ...interface{}) []interface{} { return vs }
t, err := template.New("t").Funcs(template.FuncMap{"args":args}).Parse...

الاستخدام في استدعاء القالب

داخل القالب الرئيسي، يمكنك تمرير الوسائط باستخدام الدالة args:

{{ template "image_row" args . 5 }}
{{ template "image_row" args . 5 }}

الوصول إلى الوسائط في القالب المضمن

ضمن "image_row.html"، يمكنك الوصول إلى الوسائط باستخدام وظيفة الفهرس المضمنة:

{{ تعريف "image_row" }} للأشياء هنا {{index . 0}} {{فهرس . 1}} {{ end }}
{{ template "image_row" args . 5 }}
يسمح لك هذا الأسلوب بتمرير البيانات الديناميكية إلى النماذج المعروضة، مما يتيح مرونة أكبر في تصميم القالب ومعالجة البيانات.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3