是否可以在Angular中使用$ compile来创建可导出的元素?

时间:2014-09-17 12:25:28

标签: jquery angularjs angularjs-directive

是否可以创建一个由Angular编译的elem / string,然后我可以将其发送到应用程序的另一部分,该部分位于angular之外?

var eventListElem = $compile('<full-event-list></full-event-list>')(scope);

myFuncOutsideOfAngular(eventListElem);

我创建了一个指令(完整事件列表),它从所选范围中获取事件列表并重复它并创建我的HTML(在我的Angular应用程序中工作)。

但是当我将eventListElem发送到应用程序的遗留jQuery部分时,它只在DOM中呈现[Object object]。我试过做$(eventListElem)和eventListElem.html(),没有运气。看起来$ compile创建了一个Angular特定对象,我无法将其转换为HTML字符串或jQuery对象。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

放手一搏:

var eventListElem = angular.element('<full-event-list></full-event-list>');
$compile(eventListElem)(scope);
scope.$digest();
myFuncOutsideOfAngular(eventListElem);

由于angular.element()是jQuery的别名,如果加载了jQuery,它可能会起作用。