【问题标题】:Send data from controller to an other controller将数据从控制器发送到另一个控制器
【发布时间】:2016-03-21 13:05:03
【问题描述】:

我是 AngularJs 的新手。我在第一页上检索数据(来自 json 数组),我想要做的是当我单击列表中的一个项目时,它会在我的第二页上显示current iddateamountcategory。但我不知道如何显示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>

和第二页的视图(现在几乎是空的):

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

            <div class="card">

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

您知道我该如何管理吗?

【问题讨论】:

    标签: angularjs json ionic-framework


    【解决方案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

    【讨论】:

    • 它似乎工作,但我现在如何在我的第二个视图中显示 id?
    • 非常感谢,它工作得很好,现在我会尝试逐步理解你的代码,再也不会出现这个问题:)
    • 我的建议是:使用更多指令。一切都会变得容易得多。
    • 我应该如何处理指令?
    • 例如将 ul 和其中的所有内容封装在指令中。然后尝试隔离范围等。您必须逐步进行,这样对您来说才有意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多