2016-06-10 95 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