如何在AngularJS中的Route Urls中传递参数

时间:2015-09-02 11:30:40

标签: javascript angularjs

我们如何将参数传递给angularJs中的局部视图。我是棱角分明的新手,我正在学习These教程。这个教程很好地解释了基本但没有关于如何将参数发送到局部视图的内容。 例如/addStudent?id=45

 $routeProvider.
                   when('/addStudent', {
                      templateUrl: 'addStudent.htm',
                      controller: 'AddStudentController'
                   }).
                   when('/viewStudents', {
                      templateUrl: 'viewStudents.htm',
                      controller: 'ViewStudentsController'
                   })

4 个答案:

答案 0 :(得分:4)

您可以在地址定义中定义参数,并通过$stateParams控制器参数

访问它
  when(url: '/new/:portfolioId',
    templateUrl: 'new.html',
    controller: function($scope, $stateParams) {
      $scope.portfolioId = $stateParams.portfolioId;
    }
  )

请看这里:http://benfoster.io/blog/ui-router-optional-parameters

答案 1 :(得分:3)

更多" Angular方式"通过使用$routeParams服务来实现这一点。

检查the docs

答案 2 :(得分:2)

要在路线中传递参数,您可以在您的网址中将参数定义为:parameter

喜欢:

$routeProvider.
               when('/addStudent', {
                  templateUrl: 'addStudent.htm',
                  controller: 'AddStudentController'
               }).
               when('/viewStudents', {
                  templateUrl: 'viewStudents.htm',
                  controller: 'ViewStudentsController'
               }).
               when('/students/:id', {
                  templateUrl: 'studentsDetail.htm',
                  controller: 'studentsDetailController'
               })

此处url students/:id将id作为参数。

这是angular doc

答案 3 :(得分:2)

$routeProvider.when('/addStudent/:id', {
                 templateUrl: 'addStudent.htm',
                 controller: 'AddStudentController'
                   })

$routeProvider.when('/viewStudents/:id', {
                 templateUrl: 'viewStudents.htm',
                 controller: 'ViewStudentsController'
                   })