<!DOCTYPE html>
<html>
<head>
<script data-require="angular.js@2.0.0-alpha.45" data-semver="1.4.2" src="https://code.angularjs.org/1.4.2/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<div data-ng-app="app" data-ng-controller="ParentController as ctrl">
<h1>Hello Plunker!</h1>
<my-directive my-callback="ctrl.parentCallback()"></my-directive>
</div>
</body>
</html>
// Code goes here
angular
.module('app', []);
angular
.module('app')
.directive('myDirective', myDirective)
.controller('MyDirectiveController', MyDirectiveController)
.controller('ParentController', ParentController)
function myDirective() {
return {
bindToController: {
myCallback: '&'
},
restrict: 'E',
controller: 'MyDirectiveController',
controllerAs: 'vm',
scope: {},
template: '<button data-ng-click="vm.myCallback({msg: \'hello\'})">Call Callback</button>'
};
}
function MyDirectiveController() {
}
function ParentController() {
var self = this;
self.parentCallback = parentCallback;
function parentCallback(args) {
alert('You called the callback with args: ' + args);
}
}
/* Styles go here */