title: Child directive not updated when parent directive property changes
body: <p>This is follow up to these 2 questions:</p>
  
  <ol>
  <li><a href="https://stackoverflow.com/questions/42814530/pass-argument-between-parent-and-child-directives">Pass argument between parent and child directives</a></li>
  <li><a href="https://stackoverflow.com/questions/42986855/parent-directive-controller-undefined-when-passing-to-child-directive">Parent directive controller undefined when passing to child directive</a></li>
  </ol>
  
  <p>I have this part working; however, when the value for ng-disabled for parent directive changes, the child directive values don't get updated.</p>
  
  <p>Please see thin <a href="https://plnkr.co/edit/QCgOrdn28mRoyfFTiOWN?p=preview" rel="nofollow noreferrer">plunkr example</a>.</p>
  
  <p>HTML:</p>
  
  <pre><code>&lt;div ng-app="myApp"&gt;
    &lt;div ng-controller="MyController"&gt;
      {{menuStatus}}
      &lt;tmp-menu ng-disabled="menuStatus"&gt;
        &lt;tmp-menu-link&gt;&lt;/tmp-menu-link&gt;
        &lt;tmp-menu-link&gt;&lt;/tmp-menu-link&gt;
      &lt;/tmp-menu&gt;
      &lt;button ng-click="updateStatus()"&gt;Update&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>JavaScript(AngularJS):</p>
  
  <pre><code>angular.module('myApp', [])
  .controller('MyDirectiveController', MyDirectiveController)
  .controller('MyController', function($scope){
    $scope.menuStatus = false;
    $scope.updateStatus = function(){
      $scope.menuStatus = $scope.menuStatus?false:true;
    }
  })
  .directive('tmpMenu', function() {
    return {
      restrict: 'AE',
      replace:true,
      transclude:true,
      scope:{
        disabled: '=?ngDisabled'
      },
      controller: 'MyDirectiveController',
      template: '&lt;div&gt;myDirective Disabled: {{ disabled }}&lt;ng-transclude&gt;&lt;/ng-transclude&gt;&lt;/div&gt;',
      link: function(scope, element, attrs) {
  
  
      }
    };
  })
  .directive('tmpMenuLink', function() {
    return {
      restrict: 'AE',
      replace:true,
      transclude:true,
      scope:{
      },
      require:'^^tmpMenu',
      template: '&lt;div&gt;childDirective disabled: {{ disabled }}&lt;/div&gt;',
      link: function(scope, element, attrs, MyDirectiveCtrl) {
        console.log(MyDirectiveCtrl);
  
        scope.disabled = MyDirectiveCtrl.isDisabled();
  
      }
    };
  })
  
  function MyDirectiveController($scope) {
    this.isDisabled = function() {
      return $scope.disabled;
    };
  }
  </code></pre>
  
  <p>How can I detect change in parent directive and pass it to child directive without adding angular watcher.</p>