2016-07-12 2 views
0

Так что я пробовал делать вложенные состояния, пока не повезло.Вложенные состояния не загружаются

То, что я получил до сих пор это

search.route.js

angular.module('myApp') 
.config(function ($stateProvider, $urlRouterProvider) { 
    $urlRouterProvider.when('/search', '/search/model'); 

    $stateProvider 
     .state('search', { 
      abstract: true, 
      url: '/search' 
     }); 
}); 

model.route.js

angular.module('myApp') 
.config(function ($stateProvider, $urlRouterProvider) { 
    $stateProvider 
     .state('search.model', { 
      url: '/model', 
      templateUrl: 'app/search/model/model.html', 
      controller: 'modelController' 
     }); 
}); 

, если я использую searchModel, как имя государства и /search/model как url, а не search.model и /model он отлично работает.

EDIT Хорошо, я не ясно в первый раз ^^

Первоначально мой код выглядит следующим образом:

model.route.js

angular.module('myApp') 
.config(function ($stateProvider, $urlRouterProvider) { 
    $stateProvider 
     .state('searchModel', { 
      url: '/search/model', 
      templateUrl: 'app/search/model/model.html', 
      controller: 'modelController' 
     }); 
}); 

это сработало хорошо. Когда я подошел к URL-адресу /search/model, файл html вместе с контроллером загрузился бы.

Но тогда я изменил его на код, видимый в начале моего вопроса. Теперь при навигации по URL-адресу он не будет загружаться в html вместе с контроллером. Я не получаю сообщений об ошибках или подобных вещей, которые могли бы дать мне понять, почему он не загружается.

+0

пожалуйста, очистить его путем разработки более \ –

+0

@WasiqMuhammad обновил вопрос –

ответ

1

В абстрактном состоянии для загрузки дочерних состояний требуется <ui-view>.

Try:

$stateProvider 
    .state('search', { 
     abstract: true, 
     url: '/search'. 
     template: '<ui-view></ui-view>' 
    }); 

См Nested States docs