2016-12-02 9 views
0

Angular JS newbee question。Angular JSディテール検索

私は、データベースからデータを取得するためのコントローラをしました:

var app = angular.module('myApp', []); 

app.controller('myAppCtrl', ['$scope', '$http', function ($scope, $http) { 

$http.get("views/resumen.pedidos.php") 
.success(function (data) { 
    $scope.results = data; 

}); 

このデータが表に表示されます。

<body ng-app="myApp"> 
    <div ng-controller="myAppCtrl" class="row top-row"> 
     <table id="data-table" border="0" width="100%" cellpadding="0" cellspacing="0" class="table panel"> 
      <thead> 
       <tr> 
        <th>PEDIDO</th> 
        <th>ESTADO WEB</th> 
        <th>FECHA</th> 
        <th>HORA</th> 
        <th>PREPARAR</th> 
        <th>CANTIDAD</th> 
        <th>PREPARADO</th> 
        <th>ENVIO</th> 
        </tr> 
       </thead> 
       <tbody> 
        <tr ng-repeat="result in results"> 
        <td>{{ result.pedido }}</td> 
        <td>{{ result.estado_web | uppercase }}</td> 
        <td>{{ result.fecha }}</td> 
        <td>{{ result.hora }}</td> 
        <td>{{ result.preparar }}</td> 
        <td>{{ result.cantidad }}</td> 
        <td>{{ result.enviado }}</td> 
        <td>{{ result.envio }} 
        </tr> 
       </tbody> 
     </table> 
    </div> 
</body> 

テーブルの行をクリックしたときに、私は他のコントローラからのデータを表示したいです{{result.pedido}}をキー値として使用します。

app.controller('myAppDetailCtrl', ['$scope', '$http', function ($scope, $http) { 

$http.get("views/detalle.pedidos.php") 
.success(function (data) { 
    $scope.results = data; 

}); 
+0

options、First:行をクリックすると、行データをサービスに挿入し、このサービスからデータを取得します。 2つ:URLでデータを渡し、 '$ location.search();'を使って取得します。 – Isma90

答えて

0

サービスを使用して、別のコントローラにデータを渡してみてください。サービスにおける

... 
    $scope.injectDataOnService = function(data){ 
     myService.setData(data); 
    } 
... 

機能:第1の制御装置において

<tbody> 
     <tr ng-repeat="result in results" ng-click="injectDataOnService(result)"> 
       <td>{{ result.pedido }}</td> 
       <td>{{ result.estado_web | uppercase }}</td> 
       <td>{{ result.fecha }}</td> 
       <td>{{ result.hora }}</td> 
       <td>{{ result.preparar }}</td> 
       <td>{{ result.cantidad }}</td> 
       <td>{{ result.enviado }}</td> 
       <td>{{ result.envio }} 
     </tr> 
    </tbody> 

デサービスにデータを設定された第2のコントローラで

...  

myService.$inject = ['$q']; 

function myService($q){ 
    var myData = null; 

    return { 
     setData: setData, 
     getData: getData 
    } 

    function setData(data){ 
     myData = data; 
    } 

    function getData(){ 
     var defered = $q.defer(); 
     defered.resolve(myData); 
     return defered.promise; 
    } 
} 

を、サービスとコールを注入する必要getData関数:

... 
myService.getData().then(function(result){ 
    datafromTable = result; 
}); 
... 
関連する問題