Comportamiento del controlador dentro de las directivas.

Sé que un$scope a partir de unacontroller se puede compartir a una función de enlace endirectives.

Por ejemplo, en este código puedo llamar a una función del controlador declarado para imprimir "Hola mundo" en la consola del navegador:

 .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, esto funciona bien.

Mis preguntas son:

En este enfoque, es elMISMO ¿Alcance que se compartirá entre el controlador y la directiva?¿Cuáles son las consecuencias de utilizar este enfoque? Supongamos que lo haréno manipularDOM elementos encontroller, solo enlink function.Realmente necesito evitar manipular elementos DOM en estecontroller? Incluso si el$scope, $elem, etc son los mismos?

Estas son preguntas que no encontré enDocumentación directiva angular.

Aquí hay un plunker con el código de muestra.

Respuestas a la pregunta(3)

Su respuesta a la pregunta