Chapter 1: Directive scope inheritance

HTML

<script src="https://code.angularjs.org/1.3.2/angular.min.js"></script>
<div ng-app="myApp">
    <div ng-controller="MainCtrl">
        <my-directive>
            <p>HTML template</p>
            <p>Scope from {{origin}}</p>
            <p>Overwritten? {{overwrite}}</p>
        </my-directive>
    </div>
</div>

JavaScript

angular.module('myApp', [])
.controller('MainCtrl', function ($scope) {
    $scope.overwrite = false;
    $scope.origin = 'parent controller';
})
.directive('myDirective', function () {
    return {
        restrict: 'E',
        link: function (scope) {
            scope.overwrite = !scope.overwrite;
            scope.origin = 'link function';
        }
    };
});