AngularJS:多个编辑表单路由?(AngularJS: multiple edit forms

2019-11-03 04:49发布

我有它映射到馈线列表(如应用程序的发展可能成长)一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-节目选择上/App/Views/editRequest.html正确的编辑形式。 这意味着将有该模板的至少3种形式(没有嵌套,虽然)这可能是在某些浏览器的问题。

有没有更AngularJS的方式来做到这一点,我还不知道?

提前致谢!

Answer 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: '/' } );

另一个重要的事情值得一提的这里,当使用插值小心hrefsrc 。 采用ng-hrefng-src代替。



文章来源: AngularJS: multiple edit forms routing?