我是Angular的新手。我試圖執行我的代碼在我的app.js文件中的控制器中定義。我需要通過JavaScript來做到這一點。 如何做到這一點?從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>
不,您不能/不應該使用非Angular代碼對您的Angular控制器進行調用。描述你實際想要解決的問題。你想包含Google API並在加載時執行一個函數? – deceze
@deceze是的確切!現在該怎麼辦? – agha