传递给新控制器时,$ routeParams.value未定义

时间:2015-09-18 13:34:14

标签: angularjs angularjs-routing

我试图将值从一个控制器传递到另一个控制器。使用$ routeParams作为执行此操作的方法。

我的主要应用参考:

var app = angular.module('acnApp', ['ngResource', 'ngRoute'])

传递值:

    //GO TO EDIT
$scope.getOrgDetails = function (orgId) {
    console.log(orgId)
    $location.path('/network_org/edit/' + orgId)
}

在我的routes.js中:

        $routeProvider.when('/network_org/edit/:acnId', {
        templateUrl: 'Pages/acn/orgs/network_org_edit.html',
        controller: 'orgUpdateController'
    });

在接收控制器上:

app.controller('orgUpdateController', ['$scope', '$location', '$routeParams',  function ($scope, $location, $routeParams) {
console.log($routeParams.orgId)}]);

当我运行它时,控制台结果是"未定义"

任何帮助表示感谢。

3 个答案:

答案 0 :(得分:0)

尝试方法“url”而不是“path”。 像这样:

$location.url('/network_org/edit?orgId=' + orgId)

答案 1 :(得分:0)

应该是:

console.log($ routeParams.acnId)

而不是orgId,因为您使用acnId定义了id。

答案 2 :(得分:0)

您在routes.js中定义的正式参数名称称为acnId。所以试试:

console.log($routeParams.acnId);