Почему мой интерфейс маршрутизатора в angular.js не работает должным образом?

0

моя проблема в том, что маршрутизация работает не так, как ожидалось, вот мой код:

$urlRouterProvider.
otherwise('/list');

$stateProvider.
state('home', {
abstract: true,
views: {
    'header': {
        templateUrl: 'partials/header.html',
        controller: 'HeaderController'
    },
    'breadcrumb': {
        templateUrl: 'partials/breadcrumb.html',
        controller: function($scope) {
            $scope.breadcrumb = ['Home', 'Library', 'Data'];
        }
    },
    'sidebar': {
        templateUrl: 'partials/sidebar.html'
    }
}

}).
state('home.list', {
url: '/list',
views: {
    'main@': {
        templateUrl: 'partials/list.html',
        controller: 'ListController'
    }
 }
 }).
state('home.details', {
url: '/details/:id',
views: {
    'main@': {
        templateUrl: 'partials/details.html',
        controller: 'DetailsController'
    }         
}
});

в моем индексе у меня есть это:

<div class="container">
    <div class="row">
        <!-- SideBar -->
        <div ui-view="sidebar" class="col-xs-3 sidebar"></div>
        <!-- /.SideBar -->


        <div class="col-xs-8">
            <!-- Breadcrumb -->
            <div ui-view="breadcrumb" class="pull-right"></div>
            <!-- /.Breadcrumb -->

            <!-- Main Content -->
            <div ui-view="main"></div>
            <!-- /.Main Content -->
        </div>
    </div>
</div>

проблема в том, что в первый раз я вхожу в приложение (в противном случае работает нормально), но при попытке щелкнуть по гиперссылке с подробной информацией /id я получаю эту ошибку: Ошибка: не удалось разрешить "детали" из состояния "home.list", Я немного запутался прямо сейчас!

  • 0
    Где код ссылки, по которой вы нажимаете? Я не вижу его в шаблоне индекса, на который вы ссылаетесь.
  • 0
    это в моем list.html <table class = "table table-hover"> <thead> <tr> <th> Name </ th> <th> Address </ th> </ tr> </ thead> <tbody> <tr ng-repeat = "персона в лицах"> <td> <a ui-sref="details( averageid: people.indexOf(person) coming)"> {{person.name}} </a> </ td> <td> {{person.address}} </ td> </ tr> </ tbody> </ table>
Показать ещё 2 комментария
Теги:

2 ответа

0
Лучший ответ

Вам нужно использовать home.details в ui-sref вместо просто details.

У меня есть пример, работающий в этом Plunkr.

0
    <table class="table table-hover"> 
<thead> 
<tr> 
<th>Name</th> 
<th>Address</th> 
</tr> 
</thead> 
<tbody> 
<tr ng-repeat="person in persons"> 
<!-- <td><a ui-sref="details({id: persons.indexOf(person)})">{{person.name}}</a></td> -->

 <td><a ui-sref="home.details({id: persons.indexOf(person)})">{{person.name}}</a></td> 
    <td>{{person.address}}</td> 
    </tr> 
    </tbody> 
    </table>

Ещё вопросы

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