使用angularjs $ location.path传递多个参数

时间:2015-08-21 18:49:29

标签: angularjs angularjs-routing

我试图通过视图&gt;传递两个参数<控制器1> $ route&gt;控制器2。

从视图1:

<td><a href="" ng-class="getGroups({{acnOrgId}}, {{row.NetworkOrgID}})">{{row.NetworkOrgFullName}}</a></td>
来自控制器1的

    $scope.getGroups = function (acnId, orgId) {
    $location.path('/Groups/' + acnId +'/'+ orgId);
}

来自我的routeProvider:

    $routeProvider.when('/Groups/:acnId/:orgId', {
    templateUrl: 'Pages/acn/partials/groups.html',
    controller: 'groupsController'
});

在我的控制器2上:

 console.log($routeParams.acnId ,  $routeParams.orgId)

我在Console.Log中的结果是:[object Object] 164

我可以使用单个参数执行此操作,并且实际上传递了我想传递的ID。

我做错了什么?

提前致谢!

2 个答案:

答案 0 :(得分:1)

你的ng-class应该使用{{}}插值指令,我不明白你使用ng-class

的原因
ng-class="getGroups(row.acnOrgId, row.NetworkOrgID)"

您可以使用锚ng-href来重定向目的,以创建href链接。

<td>
   <a ng-href="/Groups/{{row.acnOrgId+'/'+row.NetworkOrgID}}">{{row.NetworkOrgFullName}}</a>
</td>

答案 1 :(得分:0)

显然链接标记和service $ location的使用存在问题。

有两种方法可以从视图1切换到2:

使用ng-href<a ng-href="/Groups/{{row.acnOrgId}}/{{row.NetworkOrgID}}">{{row.NetworkOrgFullName}}</a>

使用ng-click<a href="" ng-click="getGroups(acnOrgId, row.NetworkOrgID)">{{row.NetworkOrgFullName}}</a>

关于getGroups功能。考虑$location.path将路由器更改为作为参数传递的URL。