Best way to handle data attributes in Slim

前端 未结 4 814
自闭症患者
自闭症患者 2021-02-04 23:26

I was evaluating Slim as a replacement for HAML in a personal project, and it doesn\'t appear to handle HTML5 data attributes as gracefully as

相关标签:
4条回答
  • 2021-02-04 23:54

    Use the splat operator:

    h1#section-title*{'data-url'=>'test', 'data-id'=>'test'} = @project.name
    
    0 讨论(0)
  • 2021-02-05 00:03

    I prefer this kind to fix...

    @products.each do |product|
      .module data-id=product.id
    

    It is working for me

    0 讨论(0)
  • 2021-02-05 00:16
    .your-class*{data: {first_attribute: 'first value', second_attribute: 'second value'} }
    

    Will produce

    <div class="your-class" data-first_attribute="first value" data-second_attribute="second value"></div>
    
    0 讨论(0)
  • 2021-02-05 00:18

    There are multiple ways in Slim

    1. As Hash

      Attributes which will be hyphenated if a Hash is given (e.g. data={a:1,b:2} will render as data-a="1" data-b="2")

    2. Use it directly as "mu is too short" mentioned, quite intuitive.

      a data-title="help" data-content="foo"
      
    3. Use Ruby code. I often do this and rarely above.

      = link_to 'foo', bar_path, data: {a: 'a', b: 'b'}
      
    0 讨论(0)
提交回复
热议问题