Mic*_*ant 27 haml ruby-on-rails custom-data-attribute ruby-on-rails-3 html5-data
我可以有
%a{href: '#', data_toggle_description_length: 'toggle_me_ajax'}
Run Code Online (Sandbox Code Playgroud)
它给了我强调的不是破折号,即
<a href="#" data_toggle_description_length="toggle_me_ajax"></a>
Run Code Online (Sandbox Code Playgroud)
但是我想拥有HTML5 data-
属性,即
<a href="#" data-toggle-description-length="toggle_me_ajax"></a>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试用破折号替换下划线时,即
%a{href: '#', data-toggle-description-length: 'toggle_me_ajax'}
Run Code Online (Sandbox Code Playgroud)
我得到语法错误:
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: syntax error, unexpected tLABEL
...data-toggle-description-length: 'toggle_me_ajax')}>\n tog...
... ^
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: syntax error, unexpected ')', expecting '}'
...ption-length: 'toggle_me_ajax')}>\n toggleMeAjax\n </a>\...
... ^
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: unknown regexp options - pa
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: syntax error, unexpected $undefined
... toggleMeAjax\n </a>\n</span>\n", -1, false);::Haml::Util.h...
... ^
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: unterminated string meets end of file
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: syntax error, unexpected $end, expecting '}'
Run Code Online (Sandbox Code Playgroud)
Man*_*eep 57
试试这个:
%a{"data-toggle-description-length" => "toggle_me_ajax", href: "#"}
Run Code Online (Sandbox Code Playgroud)
要么
%a{href: "#", :data => {:toggle_description_length => "toggle_me_ajax"}}
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅此处
您也可以在线使用html2haml转换器
编辑:
正如评论中所提到的,还有一些语法可以使用
%a{href: "#", { "data-toggle-description-length": "toggle_me_ajax" }}
Run Code Online (Sandbox Code Playgroud)
要么
%a{href: "#", { :"data-toggle-description-length" => "toggle_me_ajax" }}
Run Code Online (Sandbox Code Playgroud)
我仍然更喜欢前两个,因为我认为后者看起来很丑陋而且有点混乱.
{ ... }
在haml中真的不需要使用样式.HTML样式属性是一种更灵活,更自然的html生成方式.
%a(href="#" data-toggle="target") my link
Run Code Online (Sandbox Code Playgroud)
不需要逗号,没有哈希火箭等.您也可以非常轻松地插入或直接分配变量而无需切换样式.
例如
%a(href=link data-toggle="#{id}-toggle")
Run Code Online (Sandbox Code Playgroud)
凡link
与id
从当前绑定的范围变量.
值得注意的是,您还可以无缝地包含xmlns中的属性,svg生成使用了大量的名称空间前缀,例如:
%link(xlink:type="simple" xlink:href=link)
Run Code Online (Sandbox Code Playgroud)
使用其他风格没有令人信服的理由.
归档时间: |
|
查看次数: |
31716 次 |
最近记录: |