I can't get an ng-if to evaluate inside a directive. I was first calling a method that returned a boolean, but whatever the result the ng-if does not pick up the result, it always evaluates to false.
To try and pin point the issue I tried a simple inline expression (below) but even this always evaluates to false. When I remove the ng-if, the div shows. What am I doing wrong?
.directive('handsUpVideoOverlay', function() {
  return {
    restrict: 'E',
    replace: true,
    scope: false,
    template: '<div class="handsOffOverlay" ng-if="1>0">' +
    '</div>',
    link: function($scope) {
    }
  };
})
UPDATE
This code works perfectly as a standalone Jsfiddle. It looks like the problem is something to do with the fact I am adding this directive as a child of another directive. The parent directive is 3rd party and is manually transcluding it's children.
UPDATE
Ok I got this working. The problem was the parent directive was removing any child directive and then adding it back without compiling them. I had to take my own copy of the 3rd party parent directive and change this in the link function:
// Make transcluding work manually by putting the children back in there
      ng.element(element).append(oldChildren);
to this:
// Make transcluding work manually by putting the children back in there
  for(var i = 0; i < oldChildren.length; i++) {
      var template = oldChildren[i].outerHTML;
      var linkFn = $compile(template);
      var content = linkFn($scope);
      $element.append(content);
   }
 
     
    