在 HAML 中创建标签别名

问题描述 投票:0回答:1
asp.net webforms haml
1个回答
1
投票

我会使用辅助方法。在红宝石中,它会是这样的:

def asp_tag attrs_hash={}
  result = '<asp:TextBox '
  result << 'runat="server" '
  attrs_hash.each {|k,v| result << "#{k}=\"#{v}\"" }
  result << '>'
  result << yield # not necessary if you never have a body in your tag
  result << '</asp:TextBox>'
  result.html_safe # in rails anyways.....
end

并在您的视图中使用它,如下所示:

= asp_tag{id: 'txtName'}
  .moreStuff
    teh awesome

应该渲染

<asp:TextBox id="txtName" runat="server">
  <div class="moreStuff">
    teh awesome
  </div>
</asp:TextBox>

由于您处于微软环境中,其中部分或大部分可能会或可能不会起作用。 ruby 方法可能会被您运行 haml 的任何语言的某些内容所取代。

另一种选择是使用部分。我使被调用的代码更好,但调用更糟糕。我倾向于将丑陋隐藏起来。

© www.soinside.com 2019 - 2024. All rights reserved.