同一行上的多个Haml元素

Eth*_*aub 12 haml

我希望能够在同一行上有两个Haml元素.例如:

%h1 %a{:href => '/'} Professio.

这不起作用.如果没有borking,我怎么能得到这样的东西呢?

Jim*_*vin 18

迟到的答案,但我自己只是解决了同样的问题,并且知道HAML有办法将此作为语言的一部分.请参阅HAML参考白色空间移除部分.

你可以这样做:

%h1<
  %a{ :href => '/' } Professio.
Run Code Online (Sandbox Code Playgroud)

或者这样:

%h1
  %a{ :href => '/' }> Professio.
Run Code Online (Sandbox Code Playgroud)


edt*_*ech 6

不幸的是,你不能在同一行上放两个haml元素.

您可以通过使用内联html元素来实现类似的功能:

%h1 <a href='/'>Lorem ipsum</a>
Run Code Online (Sandbox Code Playgroud)

你为什么不喜欢这种格式?

%h1 
  %a{:href => '/'} Professio.
Run Code Online (Sandbox Code Playgroud)

另一个选择是编写特殊的'helper'方法(生成一个html链接).例如,Rails中的link_to:

%h1= link_to 'Professio', root_url
Run Code Online (Sandbox Code Playgroud)


a.s*_*nko 5

哈姆不能这样做.苗条可以:

h1: a( href='/' ) Professio.
Run Code Online (Sandbox Code Playgroud)

是相同的:

h1
  a( href="/ ) Professio
Run Code Online (Sandbox Code Playgroud)

您可以根据需要编写更深的树:

ul.nav
  li.active: a( href="/home" ):    strong Home
  li:        a( href="/contact" ): span   Contact
Run Code Online (Sandbox Code Playgroud)

Jade也有类似的语法并支持此功能,但它是专为Node.js环境设计的.