J'ai ce code:
.directive('hostelGridBed', function($rootScope){
return {
restrict: 'E',
scope: {
config: '=',
range: '=',
days: '='
},
link: function(scope, element){
},
controller: ['$scope', function($scope){
$scope.innerStay = '';
function switchStay(data){
$rootScope.$broadcast('SwitchStay', {data: data.config});
};
$scope.onDropComplete = function(data,evt){
//$rootScope.$broadcast
switchStay(data);
console.log('Drop completo bed!');
}
}],
templateUrl: './js/templates/hostelgridbed.html'
}
})
.directive('hostelGridDay', function(StaysFactory){
return {
restrict: 'E',
scope: {
config: '=',
date: '='
},
link: function(scope,element){
},
controller: ['$scope','$rootScope', function($scope,$rootScope){
$scope.switchStay = function(evt, data){
console.log(data);
// Here. How can I access this controller's $scope
}
$scope.$on('SwitchStay', $scope.switchStay);
}],
templateUrl: './js/templates/hostelgridday.html'
}
})
-je obtenir des données à partir de $ diffuser ok, il est tout bon. Sauf que j'ai besoin d'accéder à la portée $ de la directive depuis la fonction $ scope.switchStay. Y a-t-il un moyen d'accomplir cela?
Le code que j'ai cité est à l'intérieur de la portée $ de la directive. J'ai besoin d'accéder au même $ scope que switchStay, de l'intérieur. – Pablo
Je viens de répondre en pensant que vous ne parliez pas du même '$ scope'. Quelle est votre question? Dans la fonction, vous pouvez simplement utiliser '$ scope' et vous y accéderez ... – quirimmo
Non, vous ne le ferez pas. Il n'y a pas de portée à l'intérieur de la fonction. – Pablo