我正在使用角度路由器,我的路线类似于下面的路线
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条路线用于列表,其他路线用于为列表选择的项目的仪表板。
在列表路径中,选择并显示列表视图,其中我显示带有一些数据的网格,此网格中的一列是可点击的名称列,点击它后我将路径更改为{{1 }}
这很好用。
但是,我如何将一些额外的参数传递给href="#/view/{row.Id}"
,如名称或任何其他细节?
编辑:我发现我可以使用这些控制器共用的服务,并在DashboardAbcController
更新服务中的某些模型。但我不想使用ng-click因为如果我这样做,那么我将失去允许用户在新标签中打开我的链接,复制粘贴,共享等的选项......
答案 0 :(得分:2)
使用$ rootscope分配值ex。 $ rootscope.name ='name'或使用get参数
.when('/view/:id?name=&id=', {
templateUrl: '/Scripts/app/views/abc/AbcDashboard.htm',
controller: 'DashboardAbcController'
})
答案 1 :(得分: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>
注意:您可以将其他数据作为路径参数传递给您不想修复的路径。