I know it's late, but a good explanation is needed!
Any view in Angular 1.x will be automatically and by default a new $ scope such $ scope will be expanded from what is called $ rootScope , so the local area $ will inherit everything that $ rootScope stores and will have its own version of this data.
So, if you have information at the $ rootScope level, you will have it by default, and your view can access it directly using regular interpolation.
This line of code will show how to do it!
var app = angular.module('plunker', []); app.run(function($rootScope) { $rootScope.persons = [ { name : "Houssem", role : "Developer Advocate" }, { name: "Clark", role: "Developer" } ]; }) app.controller('MainCtrl', function($scope) { $scope.greetings = 'Hello World !'; });
And this is on the index page:
<!DOCTYPE html> <html ng-app="plunker"> <head> <meta charset="utf-8" /> <title>AngularJS Plunker</title> <link rel="stylesheet" href="style.css" /> <script data-require="angular.js@1.0.x" src="https://code.angularjs.org/1.0.8/angular.js" data-semver="1.0.8"></script> <script data-require="ui-router@1.0.0-alpha.5" data-semver="1.0.0-alpha.5" src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.0-alpha.5/angular-ui-router.js"></script> <script src="app.js"></script> </head> <body ng-controller="MainCtrl"> <p>{{greetings}}</p> <ul> <li ng-repeat="person in persons"> <p>{{person.name}} - {{person.role}}</p> </li> </ul> </body> </html>
And check out this Plunker that explains exactly that!
Houssem Yahiaoui Jul 31 '16 at 9:51 2016-07-31 09:51
source share