Verhalten des Controllers innerhalb von Richtlinien

Ich weiß, dass a$scope von einemcontroller kann mit einer Link-Funktion in geteilt werdendirectives.

In diesem Code kann ich zum Beispiel eine Funktion vom deklarierten Controller aufrufen, um 'Hello World' auf der Browserkonsole zu drucken:

 .directive('myDirective', [function () {
        return {
            restrict : 'E',
            replace : true,
            controller: 'MyController',
            templateUrl : 'directives/myDirective.tpl.html',
            link : function (scope, elem, attrs, controller) {
                scope.message = 'Hello World!';
            }
        };
    }])

    .controller('MyController', [function ($scope, $element, $attrs, $log, $timeout) {

        // $timeout to wait the link function to be ready.
        $timeout(function () {
            // This prints Hello World as expected.
            $log.debug($scope.message);
         });


        });
    }])

Ok, das funktioniert gut.

Meine Fragen sind:

In diesem Ansatz ist es dieGLEICH Umfang, der zwischen dem Controller und der Richtlinie geteilt wird?Was sind die Konsequenzen für diesen Ansatz? Nehmen wir an, dass ich werdenicht manipulierenDOM Elemente incontroller, nur imlink function.Ich muss wirklich vermeiden, DOM-Elemente in diesem zu manipulierencontroller? Auch wenn das$scope, $elemusw. sind die gleichen?

Dies sind Fragen, die ich nicht gefunden habeDokumentation der Winkelrichtlinie.

Hier ist ein Plunker mit dem Beispielcode.