Вы можете скомпилировать Джейд в HTML, а не с помощью какой-то включения из DOM:
var jade = require('jade');
// Compile a function
var fn = jade.compile('string of jade', options);
// Render the function
var html = fn(locals);
// => '<string>of jade</string>'
Затем вы можете скомпилировать этот HTML в то, как angular.element:
var compiledElement = $compile('<string>of jade</string>')(scope);
someDomElement.append(compiledElement);
Вы можете создать область макета с помощью $rootScope.$new()
или получить область (или изолироватьScope) от элемента, используя element.scope()
, где элемент представляет собой некоторый угловой элемент.
Ознакомьтесь с документами Jade.
Что делать, если я не хочу использовать angularjs? – ncohen
BTW, с угловым я могу использовать ng-include ... – ncohen
Ой, я обновил свой ответ. Да, вы можете использовать 'ng-include', или это эквивалент $ templateCache для включения. Но если вы не используете библиотеку, вы можете просто получить шаблон с помощью AJAX, а затем скомпилировать его с помощью Jade. – risto