Try using: $timeout
Angular’s wrapper for window.setTimeout. The fn function is wrapped
into a try/catch block and delegates any exceptions to
$exceptionHandler service.
$timeout(fn[, delay][, invokeApply]);
Updated Fiddle
JavaScript
var app = angular.module('miniapp', []);
function Ctrl($scope, $timeout) {
$scope.val = false;
$timeout(function(){$scope.val = true}, 3000);
}