Ответы пользователя по тегу Pug
  • Как сделать миксин для jade для меню с подпунктами?

    @kamwork
    На самом деле не сильно удобно из за того, что массив нужно выстроить в одну строку. Может кто еще подскажет решение.

    - var newsList = [{name : 'Пункт 1', sub: ['Пункт 1.1', 'Пункт 1.2', 'Пункт 1.3', 'Пункт 1.4']}, {name : 'Пункт 2', sub: ['Пункт 2.1', 'Пункт 2.2', 'Пункт 2.3', 'Пункт 2.4']}]


    each item in newsList
                li            
                    a #{item.name}
                    each subitem in item.sub
                        ul
                            li
                                a #{subitem}


    Продолжил копаться и с миксинами получается красивее:

    - var newsList = [{name : 'Пункт 1', sub: ['Пункт 1.1', 'Пункт 1.2', 'Пункт 1.3', 'Пункт 1.4']}] 
    - var newsList2 = [{name : 'Пункт 2', sub: ['Пункт 2.1', 'Пункт 2.2', 'Пункт 2.3', 'Пункт 2.4']}]


    mixin list(items)
                ul
                    each item in items
                        li
                            a #{item.name}
                            each subitem in item.sub
                            ul
                                li
                                    a #{subitem}


    И вызываем миксины:

    +list(newsList)
    +list(newsList2)


    Но наверное можно как то еще более красиво сделать
    ------------

    Добавил:
    - var menu = [item1, item2]
    и

    each item in menu
            +list(item)


    Надеюсь кому то будет полезно
    Ответ написан
    4 комментария