2016-08-30 187 views
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> 
+3

不幸的是,你不能在非角度JavaScript中使用角度變量。你爲什麼不把這些代碼放在控制器中? –

+0

在這種情況下,爲什麼你有單獨的'