2017-01-15 5 views
0

uid$state.go関数に渡す際に問題があります。ここでstate.goから値を渡す際の問題

私のコントローラである:ここでは

.controller('chatCtrl', function($scope,$http,$ionicPopup,$state,$ionicHistory,$stateParams) { 
 

 
    $scope.data = {}; 
 
    $scope.session_id= sessionStorage.getItem('session_id'); 
 
    var sid = $scope.session_id; 
 
    if($scope.session_id == null){ 
 
     $state.go('login'); 
 
    } 
 
    else { 
 
     var cload = 'https://m.socialnetwk.com/home/app/chat_load.php'; 
 
     $http.post(cload, {id : $scope.session_id}).then(function (res){ 
 
      $scope.chat = res.data; 
 
     }); 
 
     $scope.chat = {}; 
 
     $scope.openModal = function(id) { 
 
      $scope.selectedId = id; 
 
      $state.go('chat2',{uid: $scope.selectedId}); 
 

 
     } 
 
    } 
 
}) 
 

 

 
.controller('chat2Ctrl', function($scope,$http,$ionicPopup,$state,$ionicHistory,$stateParams) { 
 

 
    $scope.data = {}; 
 
    $scope.id = {}; 
 

 
    $scope.session_id= sessionStorage.getItem('session_id'); 
 
    var sid = $scope.session_id; 
 
    if($scope.session_id == null){ 
 
     $state.go('login'); 
 
    } 
 
    else { 
 
     var pmloaddd = 'https://m.socialnetwk.com/home/app/upml.php'; 
 
     $http.post(pmloaddd, {id : $state.params.uid}).then(function (res){ 
 
      $scope.pmload = res.data; 
 
     }); 
 

 

 
     
 

 
    } 
 
    
 
})

は私app.jsです:

$stateProvider 
 
.state('chat2', { 
 
    url: '/page9', 
 
    params: { 
 
    uid: null 
 
    }, 
 
    templateUrl: 'templates/chat2.html', 
 
    controller: 'chat2Ctrl' 
 
})

+0

をlink--参照することができますが、 '$ stateParams.uid' –

+0

のような$ stateParamsてみましたちょうど運、ことを試してみました:/ –

+0

あなたはどのようなトラブルを経験していますか? –

答えて

0

2つの間違いがあります

  1. は、あなたの状態構成
  2. のURLプロパティにパラメータを追加しておらず、state.params.uid $は無効です。

以下の解決策を使用してください。

あなたapp.js

$stateProvider 
.state('chat2', { 
    url: '/page9/:uid',    //added the parameter here 
    params: { 
    uid: null 
    }, 
    templateUrl: 'templates/chat2.html', 
    controller: 'chat2Ctrl' 
}) 

Chat2コントローラのあなたの他の部分は、あなたがURLとし、それを渡す必要があるとして

if($scope.session_id == null){ 
     $state.go('login'); 
    } 
    else { 
     var pmloaddd = 'https://m.socialnetwk.com/home/app/upml.php'; 
     // modified the below line 
     $http.post(pmloaddd, {id : $stateParams.uid}).then(function (res){ 
      $scope.pmload = res.data; 
     }); 

LIVE DEMO

+0

私はちょうどこれを試して、まだ運がない:( –

+0

あなたはデモを見てみることができます! – Aravind

+0

私を考えないでくださいすでにそれを見ています。怒りの必要はありませんか? –

0

まず以下でなければなりません次のようにアクセスできます。

$ stateParams。

$stateProvider 
.state('chat2', { 
    url: '/page9/:uid', 
    controller:'name of yout controller', 
    controller: function($stateParams){ 
    $stateParams.uid //*** Exists! ***// 
    } 
     }); 

、あなたは次のようにアクセスすることができます -

$ stateparams.uidをコントローラで。

また、これはUrl routing--stateParams Service

関連する問題