Как заполнить реквизит объекта в pug mixin? - PullRequest
1 голос
/ 19 апреля 2020

Итак, у меня есть этот миксин:

mixin slider({classes: {slider, arrows, arrow, dots, dot}, useArrows = false, useDots = false, dotsCounter}, sliderSettings)
  div(class=['slider', slider].join(' '))
    .glide__track(data-glide-el="track")
      ul.glide__slides
        block
    if useArrows
      div(class=arrows, data-glide-el="controls")
        span(class=['arrow-left', arrow].join(' '), data-glide-dir="<<")
          +icon({name: 'angle-left'})
        span(class=['arrow-right', arrow].join(' '), data-glide-dir=">>")
          +icon({name: 'angle-right'})
    if useDots
      div(class=['slider-dots', dots].join(' '), data-glide-el="controls[nav]")
        while i < dotsCounter
          span(class=['slider-dot', dot].join(' '), data-glide-dir="=" + i++)

  script new Glide('.#{slider}', #{sliderSettings}).mount()

В качестве второго параметра моего миксина я передаю sliderSettings, то есть объект с реквизитом, который мне нужно вставить в тег script в конце код. Если я использую #{sliderSettings}, я получаю [object Object] в html коде страницы, но мне нужно получить заполненный объект с его реквизитом.

Можно ли получить то, что я хочу

1 Ответ

1 голос
/ 19 апреля 2020

Итак, я нашел ответ. Мне нужно улучшить эту строку:

script new Glide('.#{slider}', #{sliderSettings}).mount()

до этого:

script new Glide('.#{slider}', !{JSON.stringify(sliderSettings)}).mount()
...