كيف تضيف سمات {{var}} داخل {{#each}}؟

0

أود أن أعرف ما إذا كانت هناك أي طريقة لإضافة {{var}} مضمنة مزدوجة المخزنة إلى HTML الخاص بي.

فمثلا:
لدي كود .hbs هنا:

{{#each tables.books.data}}
<tr>
<td>...</td>
<td>...</td>
</tr>
{{/each}}

ورمز .js الخاص بي:

$(tableID+">tbody>tr").attr("tabindex", "{{@key}}");

ما أريده أن يبدو على الويب هو هذا:

<tr tabindex="1">
<td>...</td>
<td>...</td>
</tr>
<tr tabindex="2">
<td>...</td>
<td>...</td>
</tr>
<tr tabindex="3">
<td>...</td>
<td>...</td>
</tr>
...

لكنني حاليًا أعاني:

<tr tabindex="{{@key}}">
<td>...</td>
<td>...</td>
</tr>
<tr tabindex="{{@key}}">
<td>...</td>
<td>...</td>
</tr>
<tr tabindex="{{@key}}">
<td>...</td>
<td>...</td>
</tr>
...

هل هناك طريقة أو وظائف أخرى لعرض التضمين المزدوج {{var}}؟ فقط لتلخيص ، هدفي هو كلما أضاف تحميل الصفحة attribute={{@key}} في <tr> .
أنا أيضًا لا أنوي تثبيت حزم أخرى ولكن إذا كانت هذه هي الطريقة الوحيدة ، فلا بأس.

1 إجابة

-2
افضل جواب

المقاود هي لغة نموذجية ، مما يعني أن جافا سكريبت لا يمكنها التفاعل معها تمامًا لأنه يتم تقديم المقاود على جانب الخادم ويتم تنفيذ جافا سكريبت على جانب العميل - القالب (أو واجهة برمجة التطبيقات) هو حرفيا وسيط الاتصال بين الاثنين. علاوة على ذلك ، ستقرأ Javascript أيضًا "{{@key}}" كسلسلة حرفية ، وليس كمتغير المقاود التي تفكر فيها. إذا كنت تريد أن تقوم المقاود بطباعة المفتاح في القالب ، فعليك إضافته إلى قالب hbs نفسه:

<tr tabindex="{{@key}}">

إذا كان يجب أن يكون لديك في جافا سكريبت ، فيمكنك تمريره في شيء مثل سمة البيانات:

// in .hbs file
<tr data-tabindex="{{@key}}">

// in js
tr = $('tr')[0] // grab a <tr> element
tr.data('tabindex') // should be whatever value was in @key
:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام