2015-02-10 81 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()或通過使用element.scope()從元素中獲取範圍(或isolateScope)來創建模擬範圍,其中元素是某個角度元素。

查看Jade文檔。

+0

如果我不想使用angularjs會怎麼樣? – ncohen 2015-02-10 19:28:18

+0

順便說一下,與角我可以使用ng-include ... – ncohen 2015-02-10 19:31:18

+0

哦,gotcha,我更新了我的答案。是的,您可以使用'ng-include',或者使用$'templateCache'來執行include。但是如果你不使用庫,你可以使用AJAX獲取模板,然後使用Jade編譯它。 – risto 2015-02-10 19:38:01