 <p>You can manually bootstrap angular after receive data from server.</p> <p>Example on <a href="https://jsfiddle.net/Stepan_Kasyanenko/dkhf29ej/1/" rel="nofollow">jsfiddle</a>:</p> <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code"> <pre class="snippet-code-js lang-js prettyprint-override"><code>var app = angular.module("myApp", []); app.controller("myController", function($scope, servicesConfig) { console.log(servicesConfig); $scope.model = servicesConfig.host; $scope.reset = function() { $scope.model = ''; }; }); angular.element(document).ready(function() { //Simulate AJAX call to server setTimeout(function() { app.constant('servicesConfig', { host: "appdev" }); angular.bootstrap(document, ['myApp']); }, 2000); });</code></pre> <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"&gt;&lt;/script&gt; &lt;div ng-cloak&gt; &lt;div ng-controller="myController"&gt; &lt;input type="text" ng-model="model" /&gt; {{model}} &lt;button ng-click="reset()"&gt;Reset&lt;/button&gt; &lt;/div&gt; &lt;/div&gt;</code></pre> </div> </div> </p>