将外部加载的DOM元素绑定到Angular的范围

时间:2014-11-24 17:40:47

标签: angularjs angularjs-scope

我在Angular应用中使用Google地图。根据Google Maps的API,我将string传递给包含HTML的google.maps函数,并且库将其作为InfoView显示在地图上。

我正在为此视图添加一个按钮,我希望此视图绑定到我的Angular应用程序中的控制器,但是,即使我通过<div ng-controller="MyController">...</div>,当地图库将其附加到DOM时,Angular没有得到通知。

如何强制编译这个元素(我几乎无法控制:只传递一个字符串)?

1 个答案:

答案 0 :(得分:2)

为了让AngularJS“注意”该指令,它需要编译该元素,除非引导应用程序,否则不会自动完成。因此,API需要允许您将DOM Element传递给它(并且需要$compile并在传递之前将其链接),或者您需要在添加元素后找到它DOM然后$compile并链接它。 AFAIK,如果你不能做其中任何一个,那么你所要求的是不可能的。


如果您设法掌握元素,compiling it就像调用

一样简单
$compile(element)($scope);

其中$scope是您要将其链接到的范围(甚至可能是$rootScope)。