stateprovider in angularjs - nicht das rendering der ui-view
In Ordnung. Ich komme bei diesem Teil für zwei Tage. Ich habe versucht, alles, was ich weiß.
Ich habe meine ui-router geladen und stateprovider definiert. Ich habe die UI, wie an mehreren Beispielen gezeigt, in website. Aber wenn ich laufen, es ist nicht das meine ui-view.
Index.html
<body ng-app='ngBRep'>
<div>
<div data-ng-include="'app/layout/shell.html'"></div>
</div>
<!--Angular-->
<script src="scripts/angular.js"></script>
<script src="scripts/angular-ui-router.js"></script>
</body>
Shell.html
<div data-ng-controller="shell as vm">
SHELL
<div ui-view></div>
</div>
Entry.html
<section id="entry-view" data-ng-controller="entry as vm">
ENTRY
</section>
app.js
var app = angular.module('ngBRep', [
'ui.router'
]);
routes.js
var app = angular.module('ngBRep');
app.config(['$stateProvider', '$urlRouterProvider', routeConfigurator]);
function routeConfigurator($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state('/', {
url: '/',
templateUrl: 'app/views/entry.html'
})
.state('profile', {
url: '/profile',
templateUrl: 'app/views/profile.html'
});
//Send to login if the URL was not found
}
Meine Erwartung ist, wenn ich navigieren Sie zu index.html ich sollte sehen
SHELL
PROFIL
Aber ich bekomme nur die SHELL.
Und das Schlimmste, es gibt eine bestehende website in unserem Projekt, das genau dieses und es funktioniert.
Jede Hilfe wird geschätzt. Danke.
- Haben Sie ein script-element für app.js und ein weiteres für routes.js in Ihrem index.html?
- wo ist profile.html?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein funktionierendes plunker. Das Problem in diesem Fall ist auf die Tatsache zurückzuführen, dass wir mit zwei Funktionen (die sind in der Tat nicht zu erwarten /nicht entworfen, um zusammen zu arbeiten):
ng-include
- zum Auffüllen der root Ansicht (in der Regel Teil derindex.html
)ui-router
- Ziel der root, die noch nicht geladen istui-router
Standard-Aufruf zu$urlRouterProvider.otherwise("/")
)So, während diese Vorlage in das root-index.html
Wir haben zu diesem Zweck in seine controller:
Diese Weise lösen wir den Unterschied in der Ladezeiten (router ist schneller fertig ist dann die Vorlage aufgenommen, so fehlen die Ziele)
Überprüfen Sie, dass hier