Angular UI-Router вложенные представления

0

Я пытаюсь получить вложенные представления для работы, в которых после входа в систему он отправляет вас в in.html там все ссылки ссылаются на ui-view внутри in.html. В настоящее время все ссылки переходят на "новую" страницу

index.html

<!-- more HTML -->
<body ng-controller="MainController as main">
<!--<div id="loading"><span>Loading</span></div>-->

<div ui-view="default"></div>
</body>
<!-- more HTML -->

in.html

<a ui-sref="online">Online Users</a>
<div ui-view="main"></div>

маршруты app.js

var $td = $config.TPL_DIR;

$stateProvider
    .state('auth', {
        url: '/auth',
        views: {
            "default": {
                controller: 'AuthController as auth',
                templateUrl: $td + 'login.html'
            }
        }
    })
    .state('loggedin', {
        url: '/in',
        views: {
            "default": {
                templateUrl: $td + 'in.html'
            }
        }
    })
    .state('online', {
        url: '/online',
        views: {
            "main": {
                controller: 'OnlineController as online',
                templateUrl: $td + 'online.html'
            }
        }
    });
Теги:
angular-ui-router
angular-ui

2 ответа

1

Попробуйте сделать некоторые подзаголовки, а затем измените ui-view. Что-то вроде

.state('loggedin.another_view', {
    url: '',
    views: {
        "main": {
            templateUrl: $td + 'partial.html'
        }
    }
})

Поскольку loggedin является родительским представлением, когда маршрутизатор ищет main, он будет искать контекст loggedin для представления. Он будет загружать partial.html в ваше представление.

  • 0
    Эй, уже понял, смотри ниже, но спасибо +1 :)
0

Изменено состояние loggedin.online

.state('loggedin.online', {
        url: '/online',
        views: {
            "main": {
                controller: 'OnlineController as online',
                templateUrl: $td + 'online.html'
            }
        }
    });

Изменить ссылку на

<a ui-sref=".online">Online Users</a>
<div ui-view="main"></div>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню