Handlebars.js: @ كتلة جزئية غير واضحة أو عرض الخلل

تم إنشاؤها على ١٢ يناير ٢٠١٦  ·  5تعليقات  ·  مصدر: handlebars-lang/handlebars.js

Template.hbs

<div>
    {{> @partial-block }}
</div>

Then Compile:

Handlebars.compile(fs.readFileSync("./template.hbs", "utf8"))({});

Èrror

/handlebars/runtime.js:266
    throw new _exception2['default']('The partial ' + options.name + ' could not be found');
    ^
Error: The partial @partial-block could not be found
    at Object.invokePartial (/handlebars/runtime.js:266:11)
    at Object.invokePartialWrapper [as invokePartial] (/handlebars/runtime.js:68:39)
    at Object.eval (eval at createFunctionContext (/handlebars/compiler/javascript-compiler.js:254:23), <anonymous>:6:28)

1144

التعليق الأكثر فائدة

morgondag لدي مشكلة مماثلة وقمت بحلها باستخدام عبارة if:

{{#if @partial-block}}
  {{> @partial-block }}
{{/if}}

آمل أن تكون قد قمت بحلها بالفعل على الرغم من :)

ال 5 كومينتر

لن يكون لديك كتلة جزئية إذا كنت تعرض النموذج مباشرة. تتاح الكتل الجزئية فقط عندما يتم عرض القالب كقالب جزئي ، على سبيل المثال {{#> template}}this block{{/template}}

kpdecker لذلك لا توجد طريقة لاستخدام واجهة برمجة تطبيقات handelbars لتجميع قالب مع كتلة جزئية ؟؟؟

ألا يجب أن يتصرف @partial-block s مثل المتغيرات؟ إذا لم يتم تعريفها ، فلن تتم طباعتها.

اليشم يتعامل معها بنفس الطريقة.

morgondag لدي مشكلة مماثلة وقمت بحلها باستخدام عبارة if:

{{#if @partial-block}}
  {{> @partial-block }}
{{/if}}

آمل أن تكون قد قمت بحلها بالفعل على الرغم من :)

frederfred لقد كتبت هذا التعليق. لكنني لاحظت أن مثالك لا يشمله حالة اختبار. أود أن أسميها من قبيل المصادفة أنها تعمل بهذه الطريقة (إنها تعمل فقط ، لأن الجزء المترجم partial-block يتم تخزينه في الكائن data الكائن في سياق التنفيذ.

نظرًا لأنك تلقيت الكثير من thumbs-up لهذا التعليق ، أقترح أن نضيف حالة اختبار لهذا المثال هنا .

سأقبل العلاقات العامة إذا أراد أي شخص كتابة هذا الاختبار.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات