2016-11-30 7 views
1

に接続されます。これらの状態は、状態と連結して、IONICアプリケーションで結果を取得します。ここ stateparmsは、stateParamsを別の状態に渡すと、現在の状態

var $currState = $ionicHistory.currentView().stateId; 
$scope.consoleLog('$currState: ' + $currState); //$currState: app.stateA_purchaseData=[object Object]_supplierData=[object Object]" 

$scope.consoleLog('$stateParams: ' + JSON.stringify($stateParams)); //$stateParams: {} 

はこれが原因で起こっている

state('app.StateA', { 
     url: '/test-url', 
     templateUrl: 'templates/test.html', 
     controller: 'AppCtrl', 
     cache: false, 
     params: { 
      purchaseData: null, 
      supplierData: null, 
     } 
    }) 


$state.go('app.StateA', {purchaseData: $scope.purchaseData, supplierData: $scope.supplierData }); 

答えて

1

configです、Ionic historyのドキュメントにparamsstatenameを連結する方法getCurrentStateId()あります。 、代わりに 試してパラメータを取得するには

Check from line no 142 in ionic_history.js in github documentation

function getCurrentStateId() { 
    var id; 
    if ($state && $state.current && $state.current.name) { 
     id = $state.current.name; 
     if ($state.params) { 
     for (var key in $state.params) { 
      if ($state.params.hasOwnProperty(key) && $state.params[key]) { 
      id += "_" + key + "=" + $state.params[key]; 
      } 
     } 
     } 
     return id; 
    } 
    // if something goes wrong make sure its got a unique stateId 
    return ionic.Utils.nextUid(); 
    } 

これは実際のyのためのparamsオブジェクトを返すgetCurrentStateParams()

function getCurrentStateParams() { 
    var rtn; 
    if ($state && $state.params) { 
     for (var key in $state.params) { 
     if ($state.params.hasOwnProperty(key)) { 
      rtn = rtn || {}; 
      rtn[key] = $state.params[key]; 
     } 
     } 
    } 
    return rtn; 
    } 

を呼び出しStateParams() ou。

Reference(source) of the above functions

+0

i "が" TypeError例外を:オブジェクト#にはメソッド 'StateParams' がありません」このエラーを取得しています@Sarvan –

関連する問題