Handlebars.js: @partial-block pas clair ou bug de rendu

Créé le 12 janv. 2016  ·  5Commentaires  ·  Source: 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

Commentaire le plus utile

@morgondag J'ai eu un problème similaire et je l'ai résolu en utilisant une instruction if :

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

J'espère que vous l'avez déjà résolu :)

Tous les 5 commentaires

Vous n'aurez pas de bloc partiel si vous effectuez le rendu du modèle directement. Les blocs partiels ne sont disponibles que lorsqu'un modèle est rendu en tant que partiel, c'est- {{#> template}}this block{{/template}} dire

@kpdecker donc il n'y a aucun moyen d'utiliser l'API du guidon pour compiler un modèle avec un bloc partiel ???

Les @partial-block ne devraient-ils pas se comporter comme des variables ? S'ils ne sont pas définis, ils ne sont pas imprimés.

jade le gère de la même manière.

@morgondag J'ai eu un problème similaire et je l'ai résolu en utilisant une instruction if :

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

J'espère que vous l'avez déjà résolu :)

@frederfred Cela fait un moment que vous n'avez pas fait ce commentaire. Mais j'ai remarqué que votre exemple n'est pas couvert par un cas de test. J'appellerais cela une coïncidence si cela fonctionne comme ça (cela ne fonctionne que parce que le partial-block -partial compilé est stocké dans l'objet data du contexte d'exécution.

Puisque vous avez reçu tant de thumbs-up pour ce commentaire, je suggère que nous ajoutions un cas de test pour cet exemple ici .

J'accepterais un PR si quelqu'un veut passer ce test.

Cette page vous a été utile?
0 / 5 - 0 notes