从Javascript调用角度控制器/函数

时间:2016-11-25 12:56:59

标签: javascript angularjs

我对Angular很新。我正在尝试执行我的app.js文件中的控制器中定义的代码。我需要通过javascript来做到这一点。 怎么做?

app.js文件



app.controller('MyLocCtrl',function($firebaseObject){
  myfunction = function () {
const rootRef =  firebase.database().ref();
this.object = $firebaseObject(rootRef);

var myLatLng = {lat: -25.363, lng: 131.044};

var map = new google.maps.Map(document.getElementById('map'),{
  zoom: 4,
  center: myLatLng
});

var marker = new google.maps.Marker({
  position: myLatLng,
  map: map,
  title: 'Hello World!'
});

};

}

);




和我的JS代码在另一个页面// map.html



    <script src="app.js"></script>
  <body ng-app="app">
    <div id="map" ng-app='app' ng-controller="MyLocCtrl"></div>
</body>

    <script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDUX6F83LCTZ7_uQlXzR6_Q2u6BXFIvGkY&callback=angular.element(document.getElementById('map')).firebaseObject().myfunction();">
    </script>

</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您应该将应用程序声明为角度模块,如下所示:

var app = angular.module('myApp',[]);

app.controller('MyLocCtrl', ['$scope', function($scope) {
  //
}]);

之后,您可以与html

进行通信

此外,您已在ng-app='app'中声明body,您应将其从div元素中删除