Von der tab.home Definition wir, dass in Tab schließen können muss tab-home
ui-Ansicht eine benannte sein. tab.searcher ist ein Kind der Registerkarte mit eigener Vorlage, aber es ist nicht eingefügt in der benannten UI-Ansicht.
Ich habe ein Snippet hinzugefügt, wo ich Ihre Statuskonfiguration nachahmen und die minimalen Änderungen vornehmen, von denen ich anschaue, dass sie logisch sinnvoll sind (benannte ui-Ansichten in Vorlagen und Ansichten Definitionen in Zustandsobjekten).
Bitte schauen Sie, und lassen Sie mich wissen, wenn es andere Probleme gibt.
angular.module('TestApp', ['ui.router'])
.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider
.state('tab', {
url: '/tab',
abstract: true,
template: '<div ui-view="tab-home"></div>'
})
.state('tab.home', {
url: '/home',
views: {
'tab-home': {template: 'Tab Home'}
}
})
.state('tab.searcher', {
url: '/searcher',
abstract: true,
views: {
'tab-home': {
template: 'Tab Searcher <div ui-view="tab-ingredients"></div>'
}
}
})
.state('tab.searcher.ingredients', {
url: '/ingredients',
views: {
'tab-ingredients': {template: 'Ingredients!'}
}
});
//$urlRouterProvider.otherwise("/tab/home");
$urlRouterProvider.otherwise("/tab/searcher/ingredients");
//$locationProvider.html5Mode(true);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.12/angular.js"></script>
<script src="https://unpkg.com/[email protected]/release/angular-ui-router.js"></script>
<div ng-app="TestApp">
<div ui-view></div>
</div>
Beachten Sie, dass es auch möglich ist, direkt zu definieren, welche ui-Ansicht mit dem Namen der Vorlage machen sollte. Zum Beispiel: Vorlage für die benannte ui-view root im Zustand a. Set-Vorlage für die benannte ui-Ansicht nav in b
.state('a.b.c', {
// ...
views: {
'[email protected]': {template:'Foo'},
'[email protected]': {template:'Bar'}
}
})
Ich verstehe nicht, warum gibt es einen 'Tabula home' Blick auf' tab', weil das Haus Reiter ein Kind der ist Tab-Status, aber es ist nicht die einzige mögliche Ansicht – Xalsar
Vielleicht ist es eine "nette" Lösung, wenn wir mehrere TemplateUrls auf der gleichen Ansicht haben könnten, aber ich nicht jetzt, wenn es möglich ist – Xalsar
'ui-view =" Registerkarte -home "' ist eine * benannte * Ansicht im Tab-Status. Untergeordnete Elemente des Registerkartenstatus können für diese * ui-view * eine Vorlage angeben. Wie ich unter dem Snippet erwähnt habe, ist es möglich, mehrere benannte Ansichten zu haben. Weitere Informationen finden Sie hier: https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views – dinony