以角度传递url参数

时间:2016-06-12 23:44:03

标签: javascript angularjs ionic-framework

我正在尝试在视图之间传递一些url参数以获取特定用户的详细信息,但我发现很难做到

下面的

是js和html

    .controller('profile_detail_ctrl',['$scope','$http','$state',function($scope,$http,$state){
    $http.get('http://localhost/myapp/app_ion/templates/profile/profile.php?profile_id='+$scope.profile_detail).success(function(data){
           $scope.profile_detail=data;
           $scope.profile_id=$state.params.profile_id;

       });

 //pass profile_id to view detail of a user bound to 'profile_detail_ctrl' controller

     .state('tabs.detail',{
        url:'/source/:profile_id',
        views:{
        'list-source':{
        templateUrl:  'templates/profile/profile.html', 
        controller: 'profile_detail_ctrl'


        } 
        }
    })

HTML

<ion-item href="#/tab/source/{{item.profile_id}}">
 <div class="item item-avatar">
<img src="../usr_up_img/{{item.profile_pix}}">
    <h2>{{item.name}}</h2>
    <p>November 05, 1955</p>
  </div>
   </ion-item>
  </ion-list>

  </ion-content>

当用户点击链接"href"时。它应该导航到包含用户详细信息的页面

2 个答案:

答案 0 :(得分:0)

就我可以从你的代码中扣除,你在检索数据时犯了错误。您需要发送来自$stateParams的profile_id,如下所示。

.controller('profile_detail_ctrl',['$scope','$http','$state','$stateParams',function($scope,$http,$state,$stateParams){
    $http.get('http://localhost/myapp/app_ion/templates/profile/profile.php?profile_id='+$stateParams.profile_id).success(function(data){
        console.log(JSON.stringify(data));
        $scope.profile_detail=data;
       });

答案 1 :(得分:-1)

尝试使用此代码

$http({
url: 'http://localhost/myapp/app_ion/templates/profile/profile.php', 
method: "GET",
params: {profile_id: $state.params.profile_id}}).success(function (data) {
      $scope.profile_detail=data;

 });