I have 3 directive with isolate scope and share scope and I want pass a function beteween outermost a innermost directive. The outer and middle has isolate scopes and the middle with inner share the scope. Any suggest ?
Pass the functions of my controller as shown below .
<outer on-edit="helloWorld" ng-model="model" ng-repeat="items in items.objects" ></outer>
In my controller:
$scope.helloWorld = function(){ alert('Hello world'); }
My directive:
angular.module('myApp') .directive('outer', function () { return { restrict: 'E', replace: true, scope: { item: "=ngModel", onEdit: '&' }, template: '<div><middle on-edit='onEdit'></middle></div>', controller : function($scope){ $scope.edit = function(){ $scope.onEdit()(); } } }; }) .directive('middle', function () { return { restrict: 'E', replace: true, scope: { item : '=ngModel', onEdit : '&' }, templateUrl: '<div><inner on-edit='onEdit'></inner></div>' }; }) .directive('inner', function () { return { restrict: 'E', template: '<div><a ng-click='edit()'>Edit</a></div>' }; })
And this not work, any ideas?
Thanks