我想将一个id参数从URL传递给控制器。
这是我的配置文件
$stateProvider.state('main.edit_tutor', {
url : '/home/edit/:id', // here I want to pass Id
views:{
"header":{ templateUrl : 'templates/header.html',
controller : 'HeaderController',
},
"sidebar":{ templateUrl : 'templates/sidebar.html',
controller:'SidebarController',
},
"main":{ templateUrl : 'templates/editTutor.html',
controller:'TutorEditController',
},
"footer":{ templateUrl : 'templates/footer.html',
},
}
})
我希望TutorEditController
app.controller('TutorEditController', function($scope, $rootScope, $stateParams, $state, LoginService,FetchService,UtilityService,$filter,UpdateService,$routeParams) {
$scope.id = $routeParams.id;
});
我试过像这样传递id
http://localhost/tutor_crm/#/main/home/edit?id=4
http://localhost/tutor_crm/#/main/home/edit/id=4
http://localhost/tutor_crm/#/main/home/edit/4
我收到的错误如Error: [$injector:unpr]
答案 0 :(得分:1)
错误是因为您正在为[{1}}注入routeParams
,但您使用了ngRoute
由于您使用的是angular-ui-router
,因此您应使用 angular-ui-router
而非 $stateParams
$routeParams
网址应为,
<强> app.controller('TutorEditController', function($scope, $rootScope, $stateParams, $state, LoginService,FetchService,UtilityService,$filter,UpdateService) {
$scope.id = $stateParams.id;
});
强>