2015-12-05 118 views
0

我是新来的枝杈。有没有类似Jade的mixin嵌套块? 我的意思是这样的:树枝宏+块或东西?

mixin button(text) 
    .btn 
    .txt= text 
    .dropdown 
     block 

+button("button") 
    +button("sub1") 
    +button("sub1-1") 
    +button("sub1-2") 
    +button("sub2") 
    +button("sub2-1") 
    .custom1 blah-blah 
    +button("sub3") 
    +button("sub3-1") 
    +button("sub3-2") 
+0

你能解释一下给定代码的html结果吗? –

+0

@AlainTiemblo它看起来像我找到解决方案。 Idk有多好,但对我有用。使用单个宏可以得到相同的结果会更好,但我仍然无法找到如何去做 – FiftyStars

回答

0

我找到了某种解决方案。 我刚将宏分割成2个宏。

{% __btns.twig %} 
{% macro btn1_opening(text) %} 
    <div class="button1"> 
     <div class="text">{{ text }}</div> 
     <div class="dropdown"> 
{% endmacro %} 

{% macro btn1_closing() %} 
     </div> 
    </div> 
{% endmacro %} 

{# main.twig #} 
{% import "__btns.twig" as btns %} 
{{ btns.btn1_opening("I am button") }} 
    <div class="something-inside-dropdown"> 
     {% include "somefile.twig" %} 
    </div> 
{{ btns.btn1_closing() }} 

因此,在这种情况下,即使我需要宏观的内部多块,我可以只写打开,中间和结束宏之间的一些HTML。