2014-10-09 57 views
2

我采用了棱角分明的路由器,我有类似下面我如何通过从一个路由值到另一个角?

angular.module("manageAbcApp", ["myApp", "ngRoute"]) 
     .config(['$routeProvider', function($routeProvider) { 
      $routeProvider 
       .when('/list', { 
        templateUrl: '/Scripts/app/views/abc/AbcList.htm', 
        controller: 'ListAbcController' 
       }) 
       .when('/view/:id', { 
        templateUrl: '/Scripts/app/views/abc/AbcDashboard.htm', 
        controller: 'DashboardAbcController' 
       }) 
       // more... 
       .otherwise({ 
         redirectTo: '/list' 
        }); 
     }]); 

的一个路由因此,大家可以看到有2路一个上市和其他的选择列表中的项目的仪表板。

在列表路径中选择列表视图并显示在哪里显示包含某些数据的网格,此网格中的某一列是可点击的名称列,点击它后,我将路由更改为href="#/view/{row.Id}"

这工作正常。

但是,我怎么也通过一些额外的paramters到DashboardAbcController喜欢的名字或任何其他细节?

编辑:我想通了,我可以在服务中使用共同服务于这两个控制器和ng-click更新一些模型。但我不希望使用,如果我不那么我就会失去允许用户打开我的新标签页的链接选项NG单击堂妹,复制粘贴,共享等..

+0

如果你的目标是将数据传递到不是从它的URL重新构造的另一条路线,那么我认为这将导致能力的丧失,为用户在一个新的标签,复制,粘贴正确打开该链接,共享等? – 2014-10-09 07:03:11

回答

2

什么是这样的:Demo

.when('/list', { 
    templateUrl: '/Scripts/app/views/abc/AbcList.htm', 
    controller: 'ListAbcController' 
}) 
.when('/view/:id/:name/:other/:details', { 
    templateUrl: '/Scripts/app/views/abc/AbcDashboard.htm', 
    controller: 'DashboardAbcController' 
}) 

而且,你可以创建像一个链接:

<a href="#/home/1/some_name/other/details?random=random">Home</a> 

注意:您可以将其他数据作为路由参数传递给您不想修复的路由。

2

无论是使用$ rootscope分配值恩。 $ rootscope.name = '名字' 或使用get参数

.when('/view/:id?name=&id=', { 
    templateUrl: '/Scripts/app/views/abc/AbcDashboard.htm', 
    controller: 'DashboardAbcController' 
    }) 
相关问题