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;
}
}
});
});