<!DOCTYPE html>
<html ng-app="app">

  <head>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.js"></script>
    <script src="script.js"></script>
  </head>

  <body ng-controller="PruebaController">
    <ac-titulo-unidireccional texto="{{mensajeUnidireccional}}"></ac-titulo-unidireccional>
    
    <button ng-click="cambiarMensajeUnidireccional()">Cambiar valor del $scope.mensaje del controlador</button>
    <br>
    Valor del $scope.mensajeUnidireccional:<strong>"{{mensajeUnidireccional}}"</strong>
    
    <hr>
    
    <ac-titulo-bidireccional texto="mensajeBidireccional"></ac-titulo-bidireccional>
    
    <button ng-click="cambiarMensajeBidireccional()">Cambiar valor del $scope.mensaje del controlador</button>
    <br>
    Valor del $scope.mensajeBidireccional:<strong>"{{mensajeBidireccional}}"</strong>
    
  </body>

</html>
var app = angular.module("app", []);

app.directive("acTituloUnidireccional",[function() {
  
  var directiveDefinitionObject ={
    restrict:"E",
    replace : true,
    template:"<div><h1>{{texto}}</h1><button ng-click=\"texto='Texto cambiado desde dentro de la directiva'\">Cambiar valor de scope.texto de la directiva</button></div>",
    scope:{
      texto:"@"
    }
  }
  
  return directiveDefinitionObject;
}]);

app.directive("acTituloBidireccional",[function() {
  
  var directiveDefinitionObject ={
    restrict:"E",
    replace : true,
    template:"<div><h1>{{texto}}</h1><button ng-click=\"texto='Texto cambiado desde dentro de la directiva'\">Cambiar valor de scope.texto de la directiva</button></div>",
    scope:{
      texto:"="
    }
  }
  
  return directiveDefinitionObject;
}]);




app.controller("PruebaController", function($scope) {
  $scope.mensajeUnidireccional="Texto Unidireccional del controlador ";
  $scope.mensajeBidireccional="Texto Bidireccional del controlador "; 
  
  
  $scope.cambiarMensajeUnidireccional=function() {
    $scope.mensajeUnidireccional="Cambiado el texto Unidireccional del controlador ";
  }
  
  $scope.cambiarMensajeBidireccional=function() {
    $scope.mensajeBidireccional="Cambiado el texto Bidireccional del controlador"; 
  }
  
});
Ejemplo de scope de una directiva