【问题标题】:getting parameters from url in angularjs controller从angularjs控制器中的url获取参数
【发布时间】:2014-10-09 10:38:36
【问题描述】:

我在 asp.net mvc 中有以下链接:

@Html.ActionLink(user.Alias.ToUpper(), "Employee", new { controller = "User", id = user.Alias, area = "Organization" }

(.../组织/员工/someId#/)

如何在 angularjs 控制器中获取 id 值?

.controller('UserCtrl', function ($scope, $location, User) {

    $scope.user = User.get({ id: ??? })
})

提前感谢您的帮助!

【问题讨论】:

  • 你用的是ng-route还是ui-router

标签: asp.net-mvc angularjs


【解决方案1】:

如果您使用的是ng-route,请使用$routeParams.someId

.controller('UserCtrl', function ($scope, $location, $routeParams, User) {
    $scope.user = User.get({ id: $routeParams.someId });
})

如果您使用的是ui-route,请使用$stateParams.someId

.controller('UserCtrl', function ($scope, $location, $stateParams, User) {
    $scope.user = User.get({ id: $stateParams.someId });
})

【讨论】:

  • 不。还是行不通。也许问题出在我传递参数的方式上?
【解决方案2】:

您应该使用$routeParams 请参阅此示例:https://thinkster.io/egghead/routeparams-api/

【讨论】:

    【解决方案3】:
    .controller('UserCtrl', function ($scope, $location, $stateParams, User) {
    
         $scope.someid = $stateParams.someId
    

    })

    【讨论】:

    • $stateParams 和 $routeParams 都无法获取值
    • someId 是一个实际值
    猜你喜欢
    • 2015-02-07
    • 2020-05-03
    • 2018-09-13
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多