AngularJS有动态路由吗?

前端之家收集整理的这篇文章主要介绍了AngularJS有动态路由吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
角度是否支持动态路由?
也许这样的一些技巧:

$routeProvider.when('/:ctrl/:action',getRoute($routeParams.ctrl,$routeParams.action))

function getRoute(ctrl,action){
   return {
      templateUrl: ctrl+"-"+action+".html"
      controller: 'myCtrl'
   }
}

请帮帮我,我需要基于routeParams获取templateUrl

解决方法

这是一个迟到的答案,但我自己遇到了这个问题,但事实证明Dan的解决方案与ngView指令上的ngAnimate类冲突,并且显示了视图但是将立即应用ng-leave动画并隐藏视图用他的动态路由打开.

我找到了完美的解决方here,它在1.1.5中可用

在$routeProvider中,templateUrl值可以是一个函数,并传递路由参数:

app.config(function ($routeProvider) {
$routeProvider
    .when('/:page',{
         templateUrl: function(routeParams){
             return '/partials/'+routeParams.page+'.html';
        }
    })
});

虽然控制器不能作为一个函数给出,所以我的解决方案是按照通常的ng-controller =“HomeCtrl”在模板html中给出它.

使用此解决方案,我们可以在Angular中按惯例进行路由.我希望这可以帮助那些不热衷于手动将每个路由添加到routeProvider的人.

猜你在找的Angularjs相关文章