我有一个请求列表,每个请求都有一个Request_Type_Id,它映射到一个馈送列表(随着应用程序的发展可能会增长)。例如,我们可能有(id,request_type)1 - 销售信息,2 - 技术支持,3 - 订单信息,当然,每个都有唯一的字段,因此编辑表单非常不同。
点击名称,我想打开这些不同编辑表格的正确。
对于路由,我有这个:
$routeProvider
.when('/editrequest/:req_id/:id', {
controller: 'EditRequestController',
templateUrl: '/App/Views/editRequest.html'
}).otherwise( { redirectTo: '/' } );
因为我将编辑链接设置为
<a href="#/edit/{{req.request_Id}}/{{req.id}}">{{req.title}}</a>
我仍在尝试学习AngularJS,并且想知道从这里开始的最佳方式是使用ng-show在/App/Views/editRequest.html上选择正确的编辑表单。这意味着该模板上至少会有3个表单(不是嵌套的),这可能是某些浏览器中的问题。
是否有更多AngularJS方法可以做到这一点,我还没有学到呢?
提前致谢!
答案 0 :(得分:1)
templateUrl
可以是字符串或函数,它接受路由参数并返回字符串。
在您的情况下,您可以这样做:
$routeProvider
.when('/editrequest/:req_id/:id', {
controller: 'EditRequestController',
templateUrl: function(params) {
// use params.req_id to generate a url
return '/App/Views/editRequest'+params.req_id+'.html';
}
}).otherwise( { redirectTo: '/' } );