AngularJS中的奇怪行为:如果参数在url中被传递,就会被重定向


Strange behaviour in AngularJS Getting Redirected if parameter is passed in url

这是我的JS

.when('/showprofile/:UserID', {
                    templateUrl: 'resources/views/layout/showprofile.php',
                    controller: 'ShowOrderController',
                  })

最后一行是

app.controller('ShowOrderController', function($scope, $routeParams) {
    $scope.UserID = $routeParams.UserID;
});

这是我正在处理的链接

localhost/project/#/showprofile/18

每当我进入这个链接,我被重定向到

localhost/project/#/showprofile/:UserID

为什么重定向?

我认为您以错误的方式传递参数。而不是:

.when('/showprofile/:UserID'

试试这个:

.when('/showprofile/user=:UserID'

你必须分配 'UserID'传递给参数,说'user'

最终url将像这样:
localhost/project/#/showprofile/user=:UserID

我试过类似的例子,它起作用了。

angular.module('myApp', ['ngRoute'])
.config(function($routeProvider){
  $routeProvider.when("/:firstName/:middleName/:lastName",
    {
      templateUrl: "app.html",
      controller: "AppCtrl",
      controllerAs: "app"
    }
  );
})
.controller('AppCtrl', function($routeParams) {
  this.message = $routeParams.firstName + " " + $routeParams.middleName + " " + $routeParams.lastName;
});

与您的代码进行比较,如果有错误