Чтобы уточнить, приведенный выше пример действительно работает, мой код в этом примере не работал по не связанным причинам.
Если myvar имеет значение false, null или никогда раньше не использовался (т.е. $ scope.myvar или $ rootScope.myvar никогда не вызывались), div не будет отображаться. После того, как ему было присвоено какое-либо значение, div будет отображаться, за исключением случаев, когда значение явно ложно.
Следующее приведет к отображению div:
$scope.myvar = "Hello World";
или же
$scope.myvar = true;
Следующее скроет div:
$scope.myvar = null;
или же
$scope.myvar = false;