加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS有动态路由吗?

发布时间:2020-12-17 17:55:28 所属栏目:安全 来源:网络整理
导读:角度是否支持动态路由? 也许这样的一些技巧: $routeProvider.when('/:ctrl/:action',getRoute($routeParams.ctrl,$routeParams.action))function getRoute(ctrl,action){ return { templateUrl: ctrl+"-"+action+".html" controller: 'myCtrl' }} 请帮帮我
角度是否支持动态路由?
也许这样的一些技巧:

$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的人.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读