AngularJS je m'y mets !

Directives : le scope (scope isolé : symbole &)

Voyons maintenant encore une autre façon d'utiliser un attribut pour transmettre une donnée à un scope isolé avec le symbole & :

<div ng-app="monApplication" ng-controller="controleur">
	<div monespace-directive changetexte="chgTexte(texte)"></div> {{texte}}
    <script>
	    angular.module('monApplication', []).
	    controller('controleur', function ($scope) {
	    	$scope.chgTexte = function (value) {
		        $scope.texte = value;
		    };
	    }).
	    directive('monespaceDirective', function () {
	    	return {
		    	scope: {
		    		changetexte: '&'
		    	},
			template: '<input type="text" class="form-control" placeholder="Entrer du texte ici"' + 
			'ng-model="value" ng-change="changetexte({texte:value})">'
		};
	    });
    </script>
</div>
{{texte}}

Le symbole & indique qu'on insère dans le template une fonction du scope parent à exécuter ultérieurement. Ici la fonction est chgTexte qui se contente de changer le texte de la propriété texte du scope parent.

Précédent

Retour à l'accueil...