jade,急救 - CNode技术社区

jade,急救
发布于 11 年前 作者 lingke00 4516 次浏览 最后一次编辑是 9 年前 来自 问答

if type p a #{type} else extend layout block example p b #{type} 第一次 type为false,载入布局 为啥第二次载入type为true时 还是输出else部分呢 输出 b true

10 回复
if type === true

这样可以吗?

-if type
	p a #{type}
-else
 extend layout
 block example
	p 
		b #{type}

JADE,孩子别折腾了......

2L正解 所有的JS命令产生的元素子集必须是JADE的下一层级 但是编译后与JS命令同级

@hezedu 我就是这样写的,只是 Tab没显示出来。。

@lingke00 好吧,我承认没经过测试。 最简单方法是:弄两模版,放在路由层处理。如果一个包含另外一个,就include

extend layout block example if type p a #{type} else p b #{type}

@hainee 你是要楼主写原生页面?

else 的情况才 extend layout 是吧?

我写过一些模板工具,支持类似的模版继承,说说我自己理解jade是怎么做的...

  1. 找出extend,这个时候处理的是纯文本,if else什么的在这里没有作用
  2. 填坑,layout里面定义了一个blockA , 模板里面实现了一个blockA,那么好,把模板里面的blockA填到layout里的blockA里面
  3. 有了extend后的模板,编译成函数,传locals输出

试了下 2015年05月04日_11-29-47.png

jade 真心受不了它的语法

回到顶部

AltStyle によって変換されたページ (->オリジナル) /