2016-02-25 24 views
0

我已經花費了3個多小時的研究,但仍未找到答案。我研究了這些:

https://docs.angularjs.org/guide/controller

https://habrahabr.ru/post/277087/

http://metanit.com/web/angular/2.14.php

和幾十個在StackOverflow的其他議題。

問題是:我用Leaflet和Angular構建了一個Javascript頁面。我需要訪問HTML塊和腳本中的數據。

最後4行導致我的問題。我正嘗試從$scope接收下一個功能的數據。

var myApp=angular.module('myApp', []); 
    myApp.controller('pointController', function($scope) { 

     $scope.points = [{ 
      id: 0, 
      lat: 55.467, 
      lang: 44.276 
     }, 
     { 
      id: 1, 
      lat: 56.467, 
      lang: 47.276 

     }, 
     { 
      id: 2, 
      lat: 58.467, 
      lang: 48.276 

     } 
    ] 
}); 

var elem = angular.element(document.querySelector(".length")); 
var minElem = elem.find('span'); 

var x=myApp.controller.$scope.points[0].id; 

var y=angularModule.points[0].id; 

而且我想使用這樣的功能,這個數據,而不是matrix

L.marker([matrix[0][1], matrix[0][2]]).addTo(map) 
      .bindPopup("<strong>One</strong><br />Alone marker "+ matrix[0][0]).openPopup(); 
+1

建議您使用角度傳單模塊,並按照該模塊中的api – charlietfl

+0

您可以顯示或鏈接例如?我正在研究http://tombatossals.github.io/angular-leaflet-directive/#!/examples/events,但這並不完美,我需要wat。 –

回答

0

$scope.points通過points是DOM中的訪問。例如,你可以向他們展示,如:

<li ng-repeat="point in points"> 
    {{point.id}}, {{point.lat}}, {{point.lang}} 
</li> 

或者在你的控制器,如果你想所有的點添加到您的地圖:

for (var i in $scope.points) { 
    L.market($scope.points[i].lat, $scope.points[i].lang).addTo(map) 
} 

你2組的代碼,最後一行在計算xy唐沒有任何意義。

請看看這個有角度的Leaflet指令,以便在您的角度應用程序中使用。它會使一切變得更容易。 https://github.com/tombatossals/angular-leaflet-directive

+0

我在DOM中使用它。就像你寫的一樣。但我需要腳本塊中的這些數據。 –

+0

'腳本塊'是什麼意思? –

+0

我需要將L.marker([matrix [0] [1],matrix [0] [2]])。addTo(map)更改爲:L.market($ scope.point.lat,$ scope。 point.lang).addTo(map) –