2016-11-25 2 views
-2

Ich bin wirklich neu in Angular. Ich versuche, meinen in einem Controller in meiner app.js-Datei definierten Code auszuführen. Ich muss das mit einem Javascript tun. Wie geht das?Aufruf Winkel Controller/Funktion aus Javascript

app.js Datei

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!' 
 
}); 
 

 
}; 
 

 
} 
 

 
);

und meine JS-Code in einer anderen Seite // 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>

+0

Nein, Sie können/sollten keine Anrufe in Ihre Angular-Controller aus nicht-angularem Code tätigen. Beschreibe, welches Problem du eigentlich lösen willst. Sie möchten die Google API einbinden und eine Funktion ausführen, wenn sie geladen ist? – deceze

+0

@deceze ja genau !! jetzt wie geht das? – agha

Antwort

0

Sie das haben sollte app deklarieren d als Winkelmodul wie folgt aus:

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

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

Danach Sie in der Lage sind, mit dem html

auch zu kommunizieren, Sie bereits erklärt ng-app='app' im body, sollten Sie es aus dem div Element entfernen

+0

Dies veranschaulicht in keiner Weise, wie Sie sich in den Google API-Rückruf einklinken. – deceze

+0

Er hat keine funktionierende JS-Datei, die eine Verbindung zu HTML herstellt. Ich schlug vor, das App-Modul zu machen, das den Controller haben wird. Der Google API-Rückruf ist ein weiterer Teil des Problems – Alex