JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<div ng-app="myApp">
    <div ng-controller="myController">
        {{file.data}}
        
        <div class="box" ng-click="setExternal('Clicou na div!')">
            Está é uma Div do controller. Clique aqui!
        </div>
        <div class="box" my-directive set-on-click="setExternal(param)">
            Está é a Directive. Clique aqui!
        </div>
    </div>
</div>

CSS

body{
    margin: 0px;
}

.box{
	padding: 25px 0px;  
	border: 2px dashed #bbb;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-align: center;
	font: 20pt bold 'Vollkorn';
	color: #bbb;
    margin: 10px 0px;
}

JavaScript

var app = angular.module('myApp', []);

app.controller('myController', function($scope) {
	$scope.file = {
		data : "nada!"
	};
    $scope.setExternal = function(data) {
		console.log(data);
		$scope.file.data = data;
	};
});

app.directive('myDirective', function() {
	return {
		restrict : 'A',
		scope : {
			setOnClick : '&'
		},
		link : function(scope, element, attrs) {			
            element.on("click", function() {
                scope.setOnClick({
                    param : "Clicou na directive!"
                });
            });
		}
	};
});