2016-06-10 96 views
1

我正在嘗試做幾件事情,並且他們都面臨同樣的問題。我想訪問其他庫裏面的一些角變量,例如:角度範圍變量和插件範圍

我有一個指令,做這個:

var map = new google.maps.Map(element[0], { 
     zoom: 15, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     mapTypeControl: false, 
     zoomControl: true, 
     zoomControlOptions: { 
      position: google.maps.ControlPosition.RIGHT_TOP 
     }, 
     center: center 
}); 

在這種情況下,中心地圖前右聲明的變量,但中心不可用裏面的「地圖」 ......

以同樣的方式..

我有這樣的指令:

function link(scope, element, attrs) { 
    $.datepicker.regional["pt-BR"]; 
    element.datepicker({ 
     onSelect: function(){ 
     scope.model = $(this).datepicker('getDate'); 
     scope.showDp = false; 
     } 
    }); 
} 

「model」和「showDp」是我範圍內的變量,範圍可以通過datepicker的函數訪問,但在「onSelect」上我什麼也沒有,在兩種情況下我該怎麼辦?

+0

除非你告訴我們更多的代碼,揭示宣佈「中心」的地方。幾乎沒有人可以幫忙 – fahadash

+1

也許作用域是孤立的,如果你試圖通過指令和控制器進行交叉訪問,請確保你將範圍傳遞給指令。 – Neha

+0

@Neha感謝您的幫助:) – Gabrielle

回答

1

對於你可以做這樣的事情在第一種情況 -

var center = 'something'; 
var constructWith = { 
    zoom: 15, 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    mapTypeControl: false, 
    zoomControl: true, 
    zoomControlOptions: { 
     position: google.maps.ControlPosition.RIGHT_TOP 
    }, 
    center: center 
}; 
var map = new google.maps.Map(element[0], constructWith); 

至於第二種情況,嘗試這樣的事情 -

var myFunc = function() { 
    // if $(this) doesn't work use $(element) 
    scope.model = $(this).datepicker('getDate'); 
    scope.showDp = false; 
}; 
$.datepicker.regional["pt-BR"]; 
element.datepicker({onSelect: myFunc}); 
+0

你是一個天才* - *非常感謝你:))))))) – Gabrielle

+0

所以我upvoted你的問題,我認爲你應該有現在的投票權限..現在upvote我呢! :P – atefth