无法在控制器中获取 $routeParams 的值 (AngularJs)

Can't get the value of $routeParams in a controller (AngularJs)

我的配置:

  .config(function($stateProvider, $urlRouterProvider) {


  $stateProvider


 .state('tab.chats', {
      url: '/chats/:id',
      views: {
        'tab-chats': {
          templateUrl: 'templates/tab-chats.html',
          controller: 'detail'
        }
      }
    })


$urlRouterProvider.otherwise('/tab/dash');

})

我的控制器:

.controller("detail", ["$scope", "$http", function($scope, $http, $routeParams){

   $scope.data = $routeParams.id;

我的 html :

<ion-view>
  <ion-content class="ata1">
    <a href="#/tab/dash" rel="nofollow"><img id="logo" src="img/falimda.png" alt="" /></a>

    <div class="clear"></div>


    <div ng-controller="detail">
      {{data}}
    </div>


    <div class="clear"></div>

    <a href="#/tab/dash" class="button button-outline button-light">Back</a>

  </ion-content>
</ion-view>

所以我正在使用 Ionic Framework 编写移动应用程序,但我无法解决问题。

我正在尝试通过 routeParams 在我的控制器中使用这个 id,这样我就可以使用 id 从网络中提取一些数据,但不幸的是我不能在我的控制器中到达它。我试图测试并打印出 ng-controller 中的数据,但没有成功。你能帮帮我吗?

如下更改您的控制器代码

.controller("detail", ["$scope", "$http", "$routeParams", function($scope, $http, $routeParams){

   $scope.data = $routeParams.id;

您正在使用 ui-router 进行路由,但希望在 ngRoute 的 routeParams 服务中找到 ui-router 状态参数。不会发生的。

使用 $stateParams,并从您的应用程序中删除 ngRoute 依赖项,因为您正在使用 ui-router。

为了解决另一个答案解释的注入问题,避免以后重复,我建议你坚持简单的声明或参数(不要使用强制你复制所有服务名称的数组语法) , 并使用 ng-annotate 使其自动缩小。