Выключение двойных фигурных скобок {{}} в шаблонах Swig для AngularJS
Шаблоны Swig и AngularJS используют обозначение двойной фигурной скобки. Как можно спрятать двойные завитки в Swig для Angular?
Ответы
Ответ 1
Двойные завитки можно экранировать с помощью
{% raw %}
eg: {% raw %}{{ foobar }}{% endraw %}
Заставляет контент не подвергаться автоматическому экранированию. Все инструкции swig будут проигнорированы, и содержимое будет отображаться точно так, как было указано.
См. руководство Swig/tags/raw.
Ответ 2
Почему бы не заменить {{}}
на [[]]
в шаблонах, настроив AngularJS на принятие [[]]
в качестве нового {{}}
. Попробуйте это в Angular -App-Config (с помощью angularjs-1.2.4):
config(['$interpolateProvider',
function($interpolateProvider) {
// Swig uses {{}} for variables which makes it clash with the use of {{}} in AngularJS.
// Replaced use of {{}} with [[]] in AngularJS to make it work with Swig.
$interpolateProvider.startSymbol('[[');
$interpolateProvider.endSymbol(']]');
}
])
Ответ 3
Вместо замены знака интерполяции angular. Изменение значений по умолчанию для swig. Следующий код сделает это.
var swig = require('swig');
swig.setDefaults({
varControls: ['[[', ']]']
});