2014-09-07 38 views
14

Swig templates ve AngularJS için Swig şablonlarında çift küme parantezinden {{}} kaçan ikisi de çift küme ayracı gösterimini kullanır. Çift eğriler Açısal için Swig'de nasıl kaçabilir?AngularJS

cevap

26

Çift kivircik otomatik kaçan olmamak için

{% raw %} 

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

Kuvvetleri içeriği ile kaçtı edilebilir. Tüm swig talimatları göz ardı edilecek ve içerik tam olarak verildiği gibi oluşturulacaktır. See Swig manual/tags/raw.

+0

Serin, teşekkürler! :) –

14

Neden yeni {{}} olarak [[]] kabul etmek angularjs yapılandırarak şablonları [[]] ile {{}} değiştirilmesi değil. (Angularjs-1.2.4 ile denedim) sizin Eğik-App-Config içinde deneyin:

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

Sadece Express tarafından sunulan dizin düzeni üzerinde tek bir örnek kaçmak gerekir, geri kalan sayfalar Angular tarafından ele alınır, bu yüzden benim açımdan mantıklı olmaz. Yine de diğerleri için iyi bir çözüm olabilir. –

8

yerine köşeli bir interpolasyon işaretini değiştirme. Swig için varsayılanları değiştirin. Bunu takiben Kod yapacaktır.

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

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