2015-02-10 4 views
0

Я хотел бы включить нефритовый скрипт внутри элемента HTML (для отображения, как если бы он был частью HTML), как это:Включить нефрит в HTML

container.getElement().html('<include src="main.jade"</include>'); 

Но, очевидно, включают в себя тег не работает , Что я должен использовать? (Я могу использовать JQuery)

ответ

1

Вы можете скомпилировать Джейд в 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.

+0

Что делать, если я не хочу использовать angularjs? – ncohen

+0

BTW, с угловым я могу использовать ng-include ... – ncohen

+0

Ой, я обновил свой ответ. Да, вы можете использовать 'ng-include', или это эквивалент $ templateCache для включения. Но если вы не используете библиотеку, вы можете просто получить шаблон с помощью AJAX, а затем скомпилировать его с помощью Jade. – risto

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