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)
لن يكون لديك كتلة جزئية إذا كنت تعرض النموذج مباشرة. تتاح الكتل الجزئية فقط عندما يتم عرض القالب كقالب جزئي ، على سبيل المثال {{#> template}}this block{{/template}}
kpdecker لذلك لا توجد طريقة لاستخدام واجهة برمجة تطبيقات handelbars لتجميع قالب مع كتلة جزئية ؟؟؟
ألا يجب أن يتصرف @partial-block
s مثل المتغيرات؟ إذا لم يتم تعريفها ، فلن تتم طباعتها.
اليشم يتعامل معها بنفس الطريقة.
morgondag لدي مشكلة مماثلة وقمت بحلها باستخدام عبارة if:
{{#if @partial-block}}
{{> @partial-block }}
{{/if}}
آمل أن تكون قد قمت بحلها بالفعل على الرغم من :)
frederfred لقد كتبت هذا التعليق. لكنني لاحظت أن مثالك لا يشمله حالة اختبار. أود أن أسميها من قبيل المصادفة أنها تعمل بهذه الطريقة (إنها تعمل فقط ، لأن الجزء المترجم partial-block
يتم تخزينه في الكائن data
الكائن في سياق التنفيذ.
نظرًا لأنك تلقيت الكثير من thumbs-up
لهذا التعليق ، أقترح أن نضيف حالة اختبار لهذا المثال هنا .
سأقبل العلاقات العامة إذا أراد أي شخص كتابة هذا الاختبار.
التعليق الأكثر فائدة
morgondag لدي مشكلة مماثلة وقمت بحلها باستخدام عبارة if:
آمل أن تكون قد قمت بحلها بالفعل على الرغم من :)