2013-12-03 2 views
0

Я изучаю angularjs и немного смущен. Я создаю угловой модуль и функции контроллера, такие как:доступ к angularjs из javascript или еще

var mapApp = angular.module("mapApp", []); 

    mapApp.controller("mapController", function($scope) { 

     $scope.save = function() { 
      //do domething 
     }; 
    }); 

И у меня есть другие функции вне контроллера.

function onMapClickEvent(e) { 
      //do domething 
    } 

Когда карта clilcked, я хочу заполнить функцию углового сохранения. Это возможно.

Я спросил об этом, потому что иногда нам нужно работать с более чем одним API. AngularJS и API Карт Google. Одна функция API должна заполнять другой API.

+0

Это поможет вам http://stackoverflow.com/questions/10490570/call-angular-js-from-legacy-code/10508731#10508731 – Chandermani

ответ

0

можно заливать DOM элемент углового элемента таким образом:

angular.element(DOM) 

И получить текущий объем DOM путем вызова сферы()

angular.element(DOM).scope() 

Тогда вы можете получить доступ к любому члену этой scope, в вашем примере: save()

Я реализовал простой пример, вы можете попробовать:

HTML

<div ng-controller="myCtrl"> 
    <button id="testBtn" onclick="onClick(this)">test</button> 
</div> 

JS

angular.module("app",[]) 
.controller("myCtrl",function($scope){ 
    $scope.angularWorldFunction = function(){ 
    console.log("message from angular world"); 
    } 
}); 

function onClick(target){ 
    angular.element(target).scope().angularWorldFunction(); 
} 

Вот jsFiddle demo

Надеется, что это полезно.

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