Je suis en train de transmettre mon adresse à une directive appelée gmaps:variable n'est pas transmise à la portée de la directive?
restrict: 'EA',
template: '<div class="gmaps"></div>',
replace: true,
scope: {
address: '=address'
},
l'adresse est définie dans le contrôleur:
app.controller('MapCtrl', function($scope) {
$scope.streetNumber = "12";
$scope.streetName = "sussex street";
$scope.city = "sydney";
$scope.country = "australia";
$scope.address = $scope.streetNumber + "," + $scope.streetName + "," + $scope.city + "," + $scope.country;
console.log($scope.address);
});
Lorsque je tente de vérifier l'adresse est indéfini:
link: function postLink(scope, iElement, iAttrs) {
console.log('address', scope.address);
L'adresse plunkr est: http://plnkr.co/edit/CNSgfgTem0VH2RTgVPjn
excellent merci Josh – user603007
Pas de problème, content de pouvoir aider. –
@ user603007 Ceci est correct, mais ... Si vous prévoyez d'utiliser plus d'un élément gmaps dans votre application, vous devrez créer un contrôleur séparé pour chacun d'entre eux, sinon ils écraseront l'adresse de chacun et d'autres informations à chaque fois vous en créez un nouveau. L'idée de la portée isolate est que chaque élément gmaps aura sa propre portée. Si vous avez utilisé '= address' comme vous le faisiez auparavant, il suffit de passer une valeur pour' address = "123 Some Street" 'sur l'élément html représentant la carte, et cette adresse sera liée à cette carte. C'est toute l'idée de la portée isolate. – jshanley