Below is my code I created a simple page and include a directive in it. And on ng-click in directive i want to call parent scope's method.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Directive Page</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"> </script> </head> <body> <div ng-app="myapp" ng-controller="myController"> <ul-dir on-item-click="itemClick(obj)"></ul-dir> </div> </body> </html> <script> var myapp = angular.module("myapp", []); myapp.directive('ulDir', function() { return { restrict: 'E', replace: 'true', template: '<div id="container"><ul><li ng-repeat="content in contents"><a href="#" ng-click="onItemClick(content)">{{content.name}}</a></li></ul></div>', controller: function ($scope) { $scope.contents = [{'name':'Nishu', 'age':'20'},{'name':'Nidhi', 'age':'21'},{'name':'Kirti', 'age':'24'}]; }, scope: { onItemClick: '&' // Pass a reference to the method } } }); myapp.controller('myController', function($scope) { $scope.itemClick = function(content){ console.log("Success : "+content); }; }); </script> So my console log print as "success : undefined" So content object not passing from directive scope to parentscope.
Please help me.