سؤال

أنا أستخدم محرك قوالب Handlebars في التطبيق الذي أقوم بإنشائه لعرض البيانات التي أحصل عليها من الخادم.

أعلم أنه يفلت من قيم HTML افتراضيًا وأنه يتعين عليك استخدام الأقواس الثلاثية {{{text}}} من أجل text: <p>Example</p> ليتم تقديمه كعنصر HTML.

تكمن المشكلة في ماذا أفعل إذا كانت البيانات التي أتلقاها، بما في ذلك علامات HTML، قد تم تجاوزها بالفعل؟

لذا، إذا تلقيت بيانات مثل:

text: &lt;p&gt;Example&lt;/p&gt;

كيف أجبر المقاود على ترجمتها وعرضها بتنسيق HTML عادي؟

هل كانت مفيدة؟

المحلول

يجب عليك فك تشفيرها أولا، ثم اجتيازها إلى المقود مع الأقواس الثلاثية.أعرف نصيحة صغيرة لفك تشفير كيانات HTML مع JQuery: giveacodicetagpre.

نصائح أخرى

توفر المقاود مساعدين وتكتب مساعدًا مخصصًا كما يلي أدناه Handlebars_helpers.js

Handlebars.registerHelper('encodeMyString',function(inputData){
    return new Handlebars.SafeString(inputData);
});

واستخدام هذا المساعد في الخاص بك .handlebar الملفات أو .hbs الملفات على النحو التالي

{{encodeMyString myHTMLData}}

بدون مساعدة Jquery يمكنك استخدامه في أي مكان داخل المقاود.حتى أنه يمكنك استخدام المساعد لتمرير البيانات بمفرده والذي سيعيد البيانات بعلامات ملحقة مسبقًا وملحقة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top