2014-09-07 20 views

risposta

26

curlies doppie possono essere sfuggiti con

{% raw %} 

eg: {% raw %}{{ foobar }}{% endraw %} 

forze il contenuto di non essere auto-sfuggito. Tutte le istruzioni di swig saranno ignorate e il contenuto sarà reso esattamente come è stato dato. See Swig manual/tags/raw.

+0

Cool, grazie! :) –

14

Perché non sostituire il {{}} con [[]] nei modelli configurando AngularJS ad accettare [[]] come il nuovo {{}}. Prova questo nel vostro Angular-App-Config (provato con 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(']]'); 
    } 
]) 
+5

Ho solo bisogno di uscire da una singola istanza sul layout dell'indice servito da Express, il resto delle pagine sono gestite da Angular, quindi la riconfigurazione di Angular solo per questo non avrebbe senso nel mio caso. Potrebbe essere una buona soluzione per gli altri però. –

8

Invece di sostituire segno interpolazione angolare. Cambia le impostazioni di default per swig. Il seguente codice lo farà.

var swig = require('swig'); 
swig.setDefaults({ 
    varControls: ['[[', ']]'] 
}); 
+0

[http://paularmstrong.github.io/swig/docs/api/](http://paularmstrong.github.io/swig/docs/api/) –

Problemi correlati