4
我試圖訪問我創建的控制器中定義的變量,以便我可以循環訪問列表並將標記與Google地圖API一起放置。我嘗試了一堆東西,但我被卡住了。這是控制器:Angular/JS:如何將範圍變量傳遞給javascript函數?
app.controller('MainController', ['$scope', 'meteorite', function($scope, meteorite) {
meteorite.success(function(data) {
$scope.meteorites = data;});
}]);
這是我嘗試訪問該變量的部分。
<div id="map">
</div>
<div class="main" ng-controller="MainController">
<div id="stuff" ng-repeat="meteorite in meteorites">
<h1>{{meteorite.name}} : {{meteorite.mass | number}}</h1>
</div>
</div>
<script>
var map;
var myLatLng = {lat: -25.363, lng: 131.044};
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: myLatLng,
zoom: 10
});
for (var i = 0; i < [This is where i want to access meteorites]; i++) {
var marker = new google.maps.Marker({
position: {meteorites[i].lat, meteorites[i].long},
map: map
});
}
}
</script>
編輯
我得到的答案加一件事後非常完美(NG-IF = 「隕石」):
<g-map ng-if="meteorites" meteorites="meteorites"></g-map>
不幸的是,你不能在非角度JavaScript中使用角度變量。你爲什麼不把這些代碼放在控制器中? –
在這種情況下,爲什麼你有單獨的'