2016-03-21 10 views
0

私はAngularJsで新しくなっています。私は私の最初のページ(JSON配列から)データを取得し、私がやりたいことは、私は私のリストの1つの項目をクリックすると、それはcurrent iddateamountcategoryを表示私の2ページ目で私を送信しています。しかし、current iddateamountcategoryを表示する方法はわかりません。ここでコントローラから他のコントローラにデータを送信

は私のコントローラです:

.controller('RegistreCtrl', function ($scope, $stateParams,factotransaction,$state) { 
    console.log("coucou"); 
    var mytoken = sessionStorage.getItem('token'); 
    factotransaction.send(mytoken).then(function(conf){ 
     console.log(conf); 
     $scope.datab = conf.data; 
    }) 

    $scope.operation = function(){ 
     $state.go('app.operation'); 
    }  
}) 


.controller('OperationCtrl', function ($scope, $stateParams,factotransaction) { 

    var mytoken = sessionStorage.getItem('token'); 
    factotransaction.send(mytoken).then(function(conf){ 
     console.log(conf); 
     $scope.datab = conf.data; 
    })  
}) 

と、最初のページのための私の見解:

<ion-view view-title="Registre"> 
    <ion-content> 
    <h1>Registre</h1> 
    <ul class="list" ng-repeat="item in datab track by $index"> 

     <li class="item" ng-repeat="mytitle in item.assignation" ng-click="operation()"> 
     {{item.date | myDate}}-- 

      {{mytitle.category}}--{{mytitle.amount}}€ 
     </li> 
    </ul> 
    </ion-content> 

</ion-view> 

と(今のところほとんど空)2ページの表示:

<ion-view view-title="Registre"> 
     <ion-content> 
      <h1>Operation</h1> 

      <div class="card"> 

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

ドゥあなたはそれをどのように管理することができますか?

答えて

1
<ion-view view-title="Registre"> 
    <ion-content> 
    <h1>Registre</h1> 
    <ul class="list" ng-repeat="item in datab track by $index"> 

you can try to pass some sort of indicator with the operation function, id maybe? 

     <li class="item" ng-repeat="mytitle in item.assignation" ng-click="operation(item.id)"> 
     {{item.date | myDate}}-- 

      {{mytitle.category}}--{{mytitle.amount}}€ 
     </li> 
    </ul> 
    </ion-content> 

</ion-view> 

そしてここで、

$scope.operation = function(id){ 
        $state.go('app.operation', { id: id }); 

      } 

ない構文についてはよく分から、しかししてください確認してください。だからあなたはあなたが遊ぶことができるIDを持っています。コントローラで 、

.controller('OperationCtrl', function ($scope, $stateParams,factotransaction) { 

       var mytoken = sessionStorage.getItem('token'); 
       factotransaction.send(mytoken).then(function(conf){ 
        console.log(conf); 
        conf.data.forEach(function(item){ 

        if($stateParams.id === item.id) { 
        $scope.item = item; 
} 
}); 
       }); 

      }) 

その後、ちょうどあなたのテンプレートコードでその$のscope.itemを使用

動作しているようですが、どのように私は私の2番目のビューで、今例えばIDを表示することができます
+0

? – xenurs

+0

コードを少し編集しました –

+0

ありがとうございました。これはうまくいきました。今度はもう一度この問題が発生しないようにコードをステップバイステップで理解しようとします:) – xenurs

関連する問題