angular ui:ui路由器动态路由和状态

angular-ui: ui-router dynamic routes and states

本文关键字:ui 状态 路由 路由器 angular 动态      更新时间:2024-02-18

我有一个动态路由定义为:

$urlRouterProvider
    .when(
        '/:resource?collection&type&id',
        [
            '$match', '$stateParams',
            function routeValidator( $match , $stateParams )
            {
                var path = '';
                angular.forEach($match, function joinner( val , key )
                {
                    if ( angular.isDefined(val) ) path += '/' + val;
                });
                return path;
            }
        ]
    )
    .when( '' , '/about' )
    .when( '/' , '/about' )
    .otherwise( '/404' );

然后是几个状态:

$stateProvider
    .state('about',
        {
            "url":          "/about",
            "templateUrl":  "about.tmpl"
        }
    )
    //…

我尝试点击index.html#/index.html#/about,但我的状态都没有被调用(随后我的控制器也没有被调用)。但我的路线被遵守了(前"被重定向到"/about")。没有控制台错误和值按预期返回(例如,对于index.html#/about,$match&path=/about)。

编辑

似乎需要是问题的一部分:

  • 在这里,它在jsfiddle中工作而不需要
  • 这里是而不是在需要的plunker中工作

原来我是个白痴:当我从ngRouter切换到ui.router时,我忘记了将ng-view切换到ui-view。工作柱塞:http://plnkr.co/edit/ZckIBlayuB10hooJ0sY5