2013-10-03 43 views
1

我是angularjs的新手。我有以下代碼,現在我想訪問控制器中的地圖對象。在這裏我無法知道,如何將它傳遞給控制器​​?從Diretives到Angularjs中的控制器的通信

我的自定義指令:

angular.module('demoApp.directives', []). 
    directive('mapCanvas', function() { 
     return { 
      restrict: 'A', 
      link: function (scope, elem, attrs) { 
       var mapOptions = { 
        center:new google.maps.LatLng(22.772323, 78.214897) , 
        zoom: 5, 
        mapTypeId: google.maps.MapTypeId.ROADMAP 
       }; 
       var map = new google.maps.Map(elem[0], mapOptions); 

      } 
     } 
    }); 

回答

2

scope定義一個函數,並傳遞一個map作爲參數。

在一個範圍內: $scope.getMap = function(map){ // do something with a map};

在指令後map定義添加:scope.getMap(map)

+0

對不起,我沒有得到你的觀點。我怎樣才能將地圖對象添加到範圍。 – coder

+0

@ user2834766在你的控制器中添加這個:'$ scope.getMap = function(map){//用一張地圖做某事}; 。' – Cherniv

+0

@ user2834766 and this:'scope.getMap(map)'在你的指令後'var map = ...'line – Cherniv