2014-09-08 2 views
3

У меня есть приложение Angular.js, с которым я хочу начать использовать Haml. Моя проблема в том, что некоторые из моих кодов неправильно конвертируются.Преобразование Амперсанда с Haml с применением Angular.js

Мне нужно вывести следующее:

<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()'} 

Проблема, однако, в том, что && конвертируется в &amp;&amp; так:

<form name='userForm' class='admin-form form-horizontal' ng-submit='userForm.$valid &amp;&amp; saveUser()' novalidate></form> 

Что я могу сделать, чтобы предотвратить это? Кроме того, можно ли поместить каждый атрибут тега в Haml на отдельной строке? Я получаю ошибки, когда пытаюсь это сделать.

ответ

0

Хорошо, я получил его на работу, установив «без спускового AttrS» истина в опциях Haml Gruntfile.

haml: 
     options: 
     'no-escape-attrs': true 
1

Вам необходимо установить escape_attrs option в значение false. Как вы это сделаете, это будет зависеть от того, как вы используете Haml, see the docs.

например. из командной строки:

$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> 
+0

Я использую Haml как задачу Grunt. Я добавил строку «$ haml --no-escape-attrs» в мой .haml-файл и все еще не работал. – Sean

+0

Нет, это пример того, что вводить из командной строки, а не то, что добавить в ваш файл '.haml'. Вам нужно узнать, как установить параметры Haml с помощью Grunt, а затем установить ': escape_attrs' значение false. – matt

Смежные вопросы