Jade de gabarits, de la portée des variables en comprend
Je suis à l'aide de Jade (sans l'accord Exprès, juste pour le statique de modèles HTML) - j'ai compris que capable de créer des partiels, le sens de la portée n'est pas un problème, mais cela ne semble pas être le cas et je ne trouve pas de référence pour ce cas d'utilisation.
maître.jade
!!! 5
html
block vars
- var slug= 'home'
head
block pagetitle
title Static HTML
link(rel='stylesheet', href='css/styles.css')
body(class= slug)
.wrapper
include includes/header
includes/en-tête.jade
.header
ul
li(class= slug)
J'ai essayé la syntaxe de variantes, y compris #{slug}
et toujours l'erreur "slug n'est pas défini" dans le includes/header.jade
fichier - est-il possible de faire cela?
EDIT: Donc la réponse est donnée par Dave Weldon dans les commentaires ci-dessous, c'est que la variable est disponible dans le maître.jade, mais ma commande build compilé tous jade fichiers, y compris le comprend sur leur propre, à laquelle la variable est bien sûr pas défini.
OriginalL'auteur A Macdonald | 2013-02-23
Vous devez vous connecter pour publier un commentaire.
Vous pourriez faire cela avec un mixin comme suit:
maître.jade
includes/en-tête.jade
Lors de la compilation:
en fait il fonctionne très bien 🙂 merci - certainement à l'aide de mixin plus - pas aussi mauvais que je le pensais - merci encore
Ouais j'ai réalisé que je n'avais pas vraiment répondre à votre question. Si votre code d'origine fonctionne très bien si vous venez d'exécuter
jade master.jade
- vous recevrez un message d'erreur si vous compilezincludes/header.jade
. Personnellement, je suis un grand fan de mixin et de les utiliser autant que je le peux. Je pense que c'est la meilleure solution, même dans ce cas, puisque vous pouvez spécifier quels sont les arguments, le mixin peut prendre, et jade ne me plaindrai pas si vous lui demandez de compiler le comprennent.ah donc c'est de la réponse! ma commande
jade -P jade --out html
bien sûr compile tous les fichiers à l'intérieur de la jade dossier, y compris le dossier comprend... encore que je préfère le mixin aussiTrès utile réponse je vous remercie!
OriginalL'auteur David Weldon