有没有办法向 HAML 过滤器添加选项(HTML 属性)?
我想做这样的事情:
:javascript{:'data-turbolinks-eval' => 'false', :foo => 'bar'}
if(someCondition){
doSomething();
}
结果是:
<script 'data-turbolinks-eval'='false' 'foo'='bar'>
if(someCondition){
doSomething();
}
</script>
我能得到的最接近的是:
%script{:'data-turbolinks-eval' => 'false', :foo => 'bar'}
if(someCondition){
doSomething();
}
缺点是除非使用 :javascript 过滤器,否则不能在 HAML 中缩进 JS。几行没问题,但很快就会变得困惑。
我很清楚,在大多数情况下,如果您最终在 HAML 模板中使用复杂的脚本,这意味着您做错了什么,而这不是我要寻找的答案。
最佳答案
无法像这样将额外的属性传递给 :javascript
过滤器。但是,您可以使用 :plain
过滤器和普通的 script
标签来缩进您的 javascript 代码:
%script{:'data-turbolinks-eval' => 'false', :foo => 'bar'}
:plain
if(someCondition()) {
doSomething();
}
产生:
<script data-turbolinks-eval='false' foo='bar'>
if(someCondition()) {
doSomething();
}
</script>
关于javascript - 在 ruby HAML 中指定过滤器的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21450524/