javascript - angular-ui:ui-router 动态路由和状态

标签 javascript angularjs requirejs angular-ui angular-ui-router

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

$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,但我的所有状态都没有被调用(随后我的 Controller 也没有被调用)。但是我的路线被遵守了(例如''被重定向到'/about')。没有控制台错误和值按预期返回(例如 index.html#/about,$match & path = /about)。

编辑

似乎 Require 是问题的一部分:

  • Here它无需要求即可在 jsfiddle 中工作。
  • Here在 plunker 中与 require 一起工作。

最佳答案

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

关于javascript - angular-ui:ui-router 动态路由和状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20370594/

相关文章:

javascript - 在 TypeScript tsconfig.json 文件中使用 typeRoots 与 baseUrl 的相对路径

javascript - 如何在浏览器中使用require

javascript - 遗传算法函数 JS 二维数组

javascript - 为什么 for 循环不从数组中删除每个奇数(使用 splice 方法)?

url - 如何在 AngularJS 中设置查询参数而不进行路由?

javascript - 如何使用 moment.js 获取日期范围

javascript - Angular JS 中的自定义搜索过滤器

javascript - 为什么 Underscore.js 取消了对 AMD 的支持?

javascript - 在 Node 和浏览器中使用 require.js 模块

javascript - 在屏幕上显示选择选项图像