0

I have my angular.js app built with a php page that contains a variable that my app needs on load. The angular app on load then uses this variable to fetch more data using a POST. What is the best practice for passing a variable to angular? Also, how can I tell angular to not run the initial controller function until after it has the variable loaded? Thanks in advance.

scheblerc
  • 33
  • 1
  • 5
  • possible duplicate of [How to pass variables and data from PHP to JavaScript?](http://stackoverflow.com/questions/23740548/how-to-pass-variables-and-data-from-php-to-javascript) – dm03514 Jun 15 '15 at 13:26

2 Answers2

3

In your case probably the best way is to write it down with something like this:

<script type="text/javascript">
    var _yourSpecialVar = <?php echo $variable ?>;
</script>

And in Angular:

$window._yourSpecialVar

EDIT:

For example in an Angular controller:

angular.module('app').controller('YourController', ['$scope', '$window', function($scope, $window) {
    $scope.myVar = $window._yourSpecialVar
}]);
michelem
  • 14,430
  • 5
  • 50
  • 66
0

Use ng-init to pass data from php to angular. It allows you to evaluate an expression in the current scope.

<div ng-init="<?PHP {name='John'}?>">

This directly goes to the scope.

Charlie
  • 22,886
  • 11
  • 59
  • 90