Używam Jade (bez wyraźnej, tylko dla statycznego HTML szablonów) - co zrozumiałem, jak w stanie stworzyć partials, czyli zakres nie jest problemem, ale to nie wydaje się być i nie znajduję odniesienia do tego przypadku użycia.Jade szablonów, zmienna w zakres obejmuje
master.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/header.jade
.header
ul
li(class= slug)
Próbowałem składnia warianty tym #{slug}
i zawsze błąd "ślimak nie jest zdefiniowana" w includes/header.jade
plik - czy to możliwe?
EDIT: Więc odpowiedź podana przez Dave Weldon w komentarzach poniżej jest to, że zmienna jest dostępna, gdy włączone master.jade ale moje polecenie build skompilowany wszystkie plików jade tym includes na własną rękę, co w którym punkcie ta zmienna nie jest oczywiście zdefiniowana.
tak mówisz o tym nie będzie mieć zasięgu na tę zmienną? Chciałbym uniknąć mixin ze względu na zawartość mojego pliku zawiera/header.jade - mój przykład był dość uproszczony! Ale jeśli mówisz, że nie mogę odziedziczyć zmiennej takiej jak ta, to chyba nie mam wyboru –
faktycznie działa dobrze: dziękuję - zdecydowanie za pomocą miksów więcej - nie tak źle, jak myślałem - jeszcze raz dziękuję –
Tak, zdałem sobie sprawę, że zrobiłem faktycznie odpowiedzieć na twoje pytanie. Więc twój oryginalny kod działa dobrze, jeśli uruchomisz 'jade master.jade' - dostaniesz błąd, jeśli skompilujesz' includes/header.jade'. Osobiście jestem wielkim fanem mixin i używam ich tak często, jak tylko mogę. Myślę, że jest to najlepsze rozwiązanie nawet w tym przypadku, ponieważ możesz określić, jakie argumenty może zająć mixin, a jaderzy nie będą narzekać, jeśli poprosisz go o skompilowanie tego pliku. –