تصف هذه المقالة JSRender لمؤشر حلقة الفهرس. شاركه للرجوع إليه. التحليل المحدد هو كما يلي:
يطلق على JSREDNER و JSVIEWS (JSViews عبارة عن تغليف إضافي يعتمد على JSRender) بالجيل القادم من قوالب jQuery ، العنوان الرسمي:
https://github.com/borismoore/jsrender ؛
https://github.com/borismoore/jsviews.
تعد الحلقات جزءًا أساسيًا من محرك القالب ، وعندما يتعلق الأمر بالحلقات ، يتم تقديم عامل حاسم: الفهرسة.
ما يسمى الفهرس هو عدد الحلقات. من خلال الفهرس ، يمكنك الحصول على الحلقة الحالية عدد المرات.
إذا قرأ القراء المستند الرسمي ، فسيشاهدون الطرق التالية للحصول على الفهرس:
بيانات:
انسخ الرمز كما يلي: {
الأسماء: ["Maradona" ، "Pele" ، "Ronaldo" ، "Messi"]
}
ترميز القالب:
انسخ الرمز كما يلي: {{for names}}
<viv>
<b> {{: #index+1}}. </b>
<span> {{: #data}} </span>
</div>
{{/ل}}
نتيجة:
انسخ الرمز على النحو التالي: 1. مارادونا
2. بيليه
3. رونالدو
4. ميسي
يمكن الحصول على الفهرس في الحلقة بواسطة #index حرفي خاص ، وهو ما يعادل هذا ، وفي هذه الحالة يمثل كل اسم.
بعد ذلك ، دعنا نجعل بعض الحيل ، والمثال أعلاه ، لكن هذه المرة آمل أن أعرض فقط أسماء تبدأ بـ M:
بيانات:
انسخ الرمز كما يلي: {
الأسماء: ["Maradona" ، "Pele" ، "Ronaldo" ، "Messi"]
}
ترميز القالب:
انسخ الرمز كما يلي: {{for names}}
{{if #data.indexof ("m") == 0}}
<viv>
<b> {{: #index+1}}. </b>
<span> {{: #data}} </span>
</div>
{{/لو}}
{{/ل}}
نتيجة:
انسخ الرمز على النحو التالي: غير متوفر (عرض متداخل): استخدم #GetIndex () 1. مارادونا
غير متوفر (عرض متداخل): استخدم #GetIndex () 1. ميسي
لقد أضفت ببساطة الحكم إذا أبلغت بالفعل عن خطأ!
تكمن المشكلة في #Index. رسالة الخطأ واضحة جدا. يمكنك استخدام #GetIndex () بدلاً من #Index.
جرب الرمز الذي تم استبداله:
بيانات:
انسخ الرمز كما يلي: {
الأسماء: ["Maradona" ، "Pele" ، "Ronaldo" ، "Messi"]
}
ترميز القالب:
انسخ الرمز كما يلي: {{for names}}
{{if #data.indexof ("m") == 0}}
<viv>
<b> {{: #getindex ()+1}}. </b>
<span> {{: #data}} </span>
</div>
{{/لو}}
{{/ل}}
نتيجة:
انسخ الرمز على النحو التالي: 1. مارادونا
4. ميسي
لماذا هذا؟ ببساطة ، لأنه على الرغم من أن {if}} لا ينشئ نطاق بيانات عادي ، إلا أنه يتداخل مع النطاق المخفي. وهذا هو ، {{if}} لن يمنع رؤية البيانات العادية (البيانات التي تنقلها) ، ولكنها سوف تتداخل مع رؤية البيانات المخفية (#index ، #parent). هذا فهم بسيط ، وليس هناك حاجة للذهاب إليه ، لأن هذا مجرد عيب في هذا الإطار ، وليس معيارًا.
لذلك ، تمنح هذه المقالة القراء استنتاجًا مهمًا: حاول استخدام #GetIndex () للحصول على الفهرس وتجنب استخدام #Index ما لم يكن تطبيقك بسيطًا بدرجة كافية.
آمل أن يكون هذا المقال مفيدًا لتعلم JSRender للجميع.