基于param的AngularJS路由

时间:2014-01-23 20:37:18

标签: angularjs angularjs-routing

我正在使用$routeProvider,我希望路由根据传递的内容加载不同的视图:

when('/tx/:txid', {
  templateUrl: '/views/tx/view.html'
}).

如果txid与某个模式匹配,则应加载一个视图。如果它匹配不同的模式,它应该加载不同的视图。这可能吗?

2 个答案:

答案 0 :(得分:1)

您可以将功能用于动态视图:

.when('/tx/:txid', {
    templateUrl: function(routeParams) {
        // return necessary view based on route params
        return '/views/tx/view.html'; 
    }
})

来自documentation

  

如果templateUrl是一个函数,它将使用以下参数调用:   {Array。} - 通过应用当前路径

从当前$ location.path()中提取的路由参数

答案 1 :(得分:1)

查看动态模板。

when('/tx/:txid', 
    {   
      controller:ctrl, 
      templateUrl: function(params){ 
         // your logic here...
         return '/tx/diferentview/' + params.txid; 
      }
    }

这应该可以解决问题。