Ich weiß, dass dies spät ist, aber eine gute Erklärung ist erforderlich!
Jede Ansicht in Angular 1.x Welt wird automatisch und standardmäßig ein neuer $ Umfang solchen $ Umfang wird von dem angerufene etwas erweitert wird $ rootScope so die lokale $ scope alles erben wird , dass der $ rootScope speichert und muss seine eigene Version von diesen Daten.
Wenn Sie also Informationen in der $ rootScope- Ebene haben, haben Sie diese standardmäßig und Ihre Ansicht kann mit der üblichen Interpolation direkt darauf zugreifen.
Diese Codezeile zeigt auch das Wie!
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 !';
});
Und das auf der Indexseite:
<!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>
Und bitte überprüfen Sie diesen Plunker, der genau das erklärt!
$route.current.params
?