Jade中的嵌套Mixin会导致非法令牌错误
问题描述:
我有一个复杂的Jade模板,我为此问题进行了简化。我正在寻找动态嵌套mixin,它根据我通过的字符串的值来更改输入的属性。我必须使用mixin进行输入,所以不幸的是,这对我来说不是一种选择。我得到了与+input_mixin(...
一致的错误Unexpected token ILLEGAL
。Jade中的嵌套Mixin会导致非法令牌错误
mixin name_of_mixin(type)
- if type == 'multiple'
- var name = '{{:#index}}'
- else if type == 'old'
- var name = 'old'
- else
- var name = 'normal'
+input_mixin(#{name})
答
通过看玉的文档我的建议是做到以下几点摆脱
非法令牌错误,这实际上有点夸张了的。
- var name = ""
mixin input_mixin(name, name)
input(name=name)&attributes(attributes)= name
mixin name_of_mixin(type)
if type == 'multiple'
- name = '{{:#index}}'
else if type == 'old'
- name = 'old'
else
- name = 'normal'
+name_of_mixin('foo')
+input_mixin(- name, name)(placeholder='plaeceholder value')
jaruesink想出了以下简化的解决方案,似乎工作得很好。我猜主要问题是混合调用和条件语句前面的连字符的缩进。
- var name = ""
mixin input_mixin(name)
input(name=name)&attributes(attributes)
mixin name_of_mixin(type)
if type == 'multiple'
- name = '{{:#index}}'
else if type == 'old'
- name = 'old'
else
- name = 'normal'
+name_of_mixin('foo')
+input_mixin(name)(placeholder='placeholder value')
我真的不是专家,当谈到玉模板,但通过看文件,并与您如约摆弄我想出了这个[** codepen **](HTTP:// codepen。 IO /匿名/笔/ xwWBEo)。这是你在找什么? – DavidDomain
嗨@DavidDomain如果你把这个作为答案,我会标记它是正确的。你做得太多了,但是我可以根据你的codepen找到它。那谢谢啦! (这里是你如何简化你的工作,http://codepen.io/jaruesink/pen/eprVwM) – jaruesink
很高兴你知道了。我已经添加了这个作为其他人使用jade模板混合使用类似问题的答案。 – DavidDomain