Angularjs $routeParams返回空对象

Angularjs $routeParams返回空对象,angularjs,ngroute,Angularjs,Ngroute,有角度的应用 var self = this; angular.module("myForm", ["ngRoute"]) .controller("Controller", ["$scope", "$routeParams", function($scope, $routeParams){self.controller($scope, $routeParams)}]); angular.bootstrap(document.getElementById("form"), ["myF

有角度的应用

var self = this;
angular.module("myForm", ["ngRoute"])
     .controller("Controller", ["$scope", "$routeParams", function($scope, $routeParams){self.controller($scope, $routeParams)}]);

angular.bootstrap(document.getElementById("form"), ["myForm"]);
它返回一个空对象,
{}

而url是

http://localhost:3000/admin/event/form/?id=1
控制器:

controller: function($scope, $routeParams) {
    console.log($routeParams);
},
编辑

我阅读以添加ng视图。我也有同样的问题

<span ng-view></span>


路由没有真正改变,我只想在页面加载时读取此值。

url中的模式?id=1不是传递路由参数的正确方式。为了支持路由参数,应该定义路由及其支持的参数。在配置块中,路由定义为(从角度文档):

要访问路由并将param传递给上述定义的路由,必须将url构造为:

/书籍/123


So/Book是您的路线,123是bookId的参数值。在您的$routeParams中,它可以作为$routeParams.bookId提供。您需要定义一个路由才能使用routeParams如何定义查询字符串,我对这一点不熟悉,而且路由没有更改,我希望在
引导的页面加载/结束时访问现有的查询字符串值
app.config(function($routeProvider, $locationProvider) {
  $routeProvider
   .when('/Book/:bookId', {
    templateUrl: 'book.html',
    controller: 'BookController',
    resolve: {
      // I will cause a 1 second delay
      delay: function($q, $timeout) {
        var delay = $q.defer();
        $timeout(delay.resolve, 1000);
        return delay.promise;
      }
    }
  });
});