嵌套的Angular ui路由器抛出异常

时间:2017-01-23 10:12:03

标签: javascript angularjs angular-ui-router

点击ui-sref="favorite-list"时出现此错误:

  

无法解决州“研究”中的“收藏列表”

我有这样的代码:

    $stateProvider
        .state('study', {
            url: '/study/:studyId',
            templateUrl: 'scripts/study/study-edit.template.html',
            controller: 'StudyController'
        })
        .state('studyObject', {
            url: '/study/:studyId/studyObject/:studyObjectId',
            templateUrl: 'scripts/study-object/study-object-edit.template.html',
            controller: 'StudyObjectController'
        })
        .state('studies', {
            url: '/studies?all&field&term&page&sort&sort_dir',
            templateUrl: 'scripts/studies/studies.template.html',
            controller: 'StudiesController',
            onExit: function exitStudies(filterQuery) {
                filterQuery.emptyQuery();
            },
            menuElement: 'studies',
            resolve: {
                attributes: function (attribute, manageAttributes) {
                    ...
                }
            }
        })
        .state({
            name: 'studies.favorite-list',
            template: '<favorites-list></favorites-list>',
            parent: 'studies'
        });

和html:

<div class="left-menu" ng-class="{collapsed: menu.isCollapsed}" click-outside="closeMenu()">
    <ul class="list-unstyled">
        <li>
            <button role="button" ui-sref="favorite-list" ng-class="{'text-bold': favorites.active}">
                <img src="images/divos/star.svg" alt="Favorites" height="20" width="30"> Favorites
            </button>
        </li>
    </ul>
    <div ui-view></div>
</div>

我尝试使用父级而不使用.state('studies.favorite-list', {})同时使用ui-sref="studies.favorite-list",但我一直收到此错误。我正在使用凉亭版本0.2.18。

1 个答案:

答案 0 :(得分:0)

找到解决方案,我只需要在名称之前添加逗号:

ui-sref=".favorite-list"