如何通过AngularJS路由传递url中选择的id并获取console.log中的数据?

How to pass selected id in url through AngularJS routing and get data in console.log?

我在 Url 中传递选定的汽车 ID 并试图在 console.log 中获取数据不知道我遗漏的地方可能是我在 Whosebug 中检查太多解决方案时感到困惑 - 这里是我的代码:

//Controller.js

     $scope.chooseACar = function(selectCarId)
            { 
               $scope.selectCarId = $stateParams.selectCarId;
                console.log($scope.selectCarId);
            }

//App.js

    .state('main.step3', 
    {
        url: '/step2/:selectCarId',
        templateUrl: 'pages/step3.html'
    });

//services.js

get: function(selectCarId) {
    for (var i = 0; i < carListData.length; i++) {
      if (carListData[i].id === parseInt(selectCarId)) {
        console.log(carListData[i]);
        return carListData[i];
      }
    }
    return null;
  }

// HTML代码

<a type="submit" href="#/main/step2/{{selectCarList.id}}" class="button button-yellow button-full submitBtn" style="color:#000; display:block">CHOOSE A CAR</a>

在App.js中(如果您在url中获取ID则无需修改。)

.state('main.step2', {
    name: 'slectcarID'
    url: '/step2/:selectCarId',
    templateUrl: 'pages/step3.html'
});

并在控制器中获取数据使用 $stateParams

console.log($stateParams.selectCarId);

$scope.selectCarId = $stateParams.selectCarId;
console.log($scope.selectCarId);

只尝试 ng-click 或 ui-sref

尝试使用 ui-sref 而不是 href

HTML

<a type="submit" ui-sref="main.step3({carId : selectCarList.id})"
   class="button button-yellow button-full submitBtn" 
   style="color:#000; display:block">CHOOSE A CAR
</a>

App.js

.state('main.step3', 
{
    url: '/step2/:selectCarId',
    templateUrl: 'pages/step3.html',
    controller: `Your Controller Name`,
    params: { carId: null, }
});

控制器

$scope.chooseACar = function(){ 
                                  $scope.selectCarId = $stateParams.carId;
                                  console.log($scope.selectCarId);
                              }