Używam Express.js (na Node.js) i wiem, że można renderować widok z niestandardowymi danymi za pośrednictwem parametru "locals". (res.render("template", { locals: { foo: "bar" } });
)Express.js Wyświetl "globals"
Czy istnieje sposób na "globals"? (dane dostępne dla każdego widoku)
Widziałem view options
, ale to nie jest rekursywne, więc zastępuje locals, które ustawiłem, jeśli używam dowolnych locals z moim szablonem.
To jest mój przypadek użycia: chcę, aby pliki CSS/JS mogły być dodawane na stronie, a to jest część mojego głównego layoutu. Problem polega na tym, że jeśli nie ustawię tych tablic bezpośrednio przy każdym renderowaniu, otrzymam niezdefiniowany błąd, więc w moim szablonie zawsze muszę wykonać taniec typeof css !== "undefined"
. Dodatkowo mam inne listy opcji wyboru skrzynki, których nie chcę dodawać jawnie do każdego z moich formularzy.
nie można zrobić to poprzez zdefiniowanie zmiennej o zasięgu globalnym (jak przez swoje wymagać oświadczenia) i odwoływanie się do niego w jednym z wywołań app.get? – Stephen
Tak, ale nadal muszę jawnie przekazywać te dane w każdym wywołaniu funkcji 'render()'. –
LOL!Szukałem tego rozwiązania, a tu znowu jestem w butach, z powrotem w Jan. Dzięki za zadanie tego pytania! – Stephen