0

我正在尝试将 AngularJS 与 JavaScript 插件 - OpenSeaDragon 绑定,因为我必须对 OpenSeaDragon 的图像进行注释,并且我尝试了类似这样的操作

angular.element(document.body).scope().$on('addAnnotation', function(e, data){    
    self._viewer.viewport.fitBounds(new OpenSeadragon.Rect(data)) 
});

在控制器内部:

$scope.addAnnotation= function (data) { 
   $scope.$root.$emit('addAnnotation', data);
}

在我看来:

ng-click="addAnnotation(data)"

但我收到错误

Uncaught TypeError: Cannot read property '$on' of undefined
4

1 回答 1

0

你试图得到angular.element(document.body).scope()which is undefined。为了获得scope一个元素,这个元素应该有一个范围。尝试在绑定到控制器的 DOM 元素上使用它。

于 2016-07-31T17:15:20.270 回答