2016-10-18 2 views
0

Эй У меня есть простое приложение, которое я создал.ui-router вложенное представление не загружается должным образом

Приложение имеет следующие представления

1. Настройки - Main View.

2. Профиль - Представление, дочерний элемент Настройки.

3. Учетная запись - Подвид, дочерний элемент «Настройки».

Я хочу, чтобы приложение, чтобы начать с профильной страницы, поэтому я написал следующий код:

$urlRouterProvider.otherwise('/profile'); 

Но, видимо, отметить это произойдет, я получил пустой экран и не может видеть зрения правильно (settings.profile).

Я добавил свой код в плункер, чтобы сделать вещи более удобными и доступными для других разработчиков, которые могут помочь мне решить мою проблему. https://plnkr.co/edit/RFP5dUNV876cy8vRDuvL?p=preview

Основной основной код выглядит так:

/** 
* Module 
* 
* Description 
*/ 
var app = angular.module('app', ['ui.router']) 

app.controller('mainCtrl', ['$scope', function($scope){ 
    $scope.title="Index Page"; 
}]); 

app.controller('ProfileController', ['$scope', function($scope){ 
    $scope.title="Profile Page"; 
}]); 

app.controller('AccountController', ['$scope', function($scope){ 
    $scope.title="Account Page"; 
}]); 

app.controller('SettingsController', ['$scope', function($scope){ 
    $scope.title="Settings Page"; 
}]); 

app.config(function($stateProvider, $urlRouterProvider) { 
    $stateProvider 
     .state('settings', { 
      url: '/settings', 
      templateUrl: 'settings.html', 
      controller: 'SettingsController' 
     }) 
     .state('settings.profile', { 
      url: '/profile', 
      templateUrl: 'profile.html', 
      controller: 'ProfileController' 
     }) 
     .state('settings.account', { 
      url: '/account', 
      templateUrl: 'account.html', 
      controller: 'AccountController' 
     }); 
    $urlRouterProvider.otherwise('/profile'); 
}); 

ответ

1

Изменение .otherwise функции:

$urlRouterProvider.otherwise('/settings/profile'); 

Поскольку другие маршруты вложены в settings состояния, вы можете получить доступ только к вложенному виду через <ui-view> в settings.html. URL-адреса также вложены друг в друга, если в обоих параметрах задан параметр url, поэтому требуется /settings/profile.

Updated Plnkr

+0

, но я не хочу этого делать, я хочу, чтобы загрузить вложенный вид на первом. – Brk

+0

Упс, заметила мою ошибку. Обновлено для учета вложенных URL-адресов. Обновлена ​​ссылка plnkr – Oberon