Jade - способ добавления динамических включений - PullRequest
11 голосов
/ 06 декабря 2011

Я бы хотел сделать что-то вроде следующего в шаблоне Jade.

include page-content/#{view.template}

Поскольку это не сработает, я закончил.

-if(view.path==="/")
include ../page_content/home
-else if(view.path==="/login/")
include ../page_content/login
-else if(view.path==="/join/")
include ../page_content/join
-else if(view.path==="/user/")
include ../page_content/user
 ad nauseum  

Я спросил TJ, возможно ли это, он ответил

к сожалению, нет, они включают в себя время компиляции, что в некоторой степени необходимо по нескольким техническим причинам, в которые я не буду входить, но в конечном итоге нам может понадобиться добавить динамическую альтернативу

Мне интересно, если кто-нибудь придумал какие-либо альтернативы, например, с использованием помощников вида.

Я застрял с большим конфигурационным файлом для генерации представлений - и операторы if-else в шаблоне, которые я знаю, собираются вернуться и преследовать меня. :)

Если это возможно, используя другой движок, например, ejs или ус, я бы хотел знать.

Любые идеи высоко ценятся.

1 Ответ

2 голосов
/ 06 декабря 2011

Мне кажется, слишком много логики в представлении. Похоже, что лучший способ сделать это будет через dynamicHelper или, возможно, mixin

...