我有一个Angular.js应用程序,我想开始使用Haml。我的问题是我的一些代码无法正常转换。
我需要输出以下内容:
<form name='userForm' class='admin-form form-horizontal' ng-submit='userForm.$valid && saveUser()' novalidate></form>
所以在Haml,我写道:
%form{:class => 'admin-form form-horizontal', :name => 'userForm', :'ng-submit'=>'userForm.$valid && saveUser()'}
但问题是&&
转换为&&
所以:
<form name='userForm' class='admin-form form-horizontal' ng-submit='userForm.$valid && saveUser()' novalidate></form>
我该怎么做才能防止这种情况发生?此外,是否可以将标签的每个属性放在一个单独的行中?当我尝试这样做时,我也会遇到错误。
答案 0 :(得分:1)
您需要将escape_attrs
option设置为false。如何执行此操作取决于您使用Haml的方式see the docs。
e.g。从命令行:
$haml --no-escape-attrs
%form{:class => 'admin-form form-horizontal', :name => 'userForm', :'ng-submit'=>'userForm.$valid && saveUser()'}
产生
<form class='admin-form form-horizontal' name='userForm' ng-submit='userForm.$valid && saveUser()'></form>
答案 1 :(得分:1)
好吧,我通过在Gruntfile haml选项中将no-escape-attrs
设置为true
来实现它:
haml:
options:
'no-escape-attrs': true