1

目標:動的なテーブル ヘッダー (GET 経由で取得) を持つテーブルを作成します。そのため、テーブルに入力するために使用される (別の GET を介して取得された) 値には、2 つを接続できる header_id があります。

すなわち

headers = [{name:header1, id:1}, {name:header2, id2}]
list_entries = [{value:'pop', header_id:1},{value:'bop', header_id:3}]

一部のテーブル セルが空になる (ヘッダーに一致する値がない) という事実を尊重する必要があるため、list_entries で ng-repeat を直接使用してテーブルにデータを入力することはできません。

$scope.headings にアクセスして反復処理し、ロジックを使用して値を一致させたい (header_id を比較)。

これは他の人にとってはばかげた質問のように思えるかもしれませんが、私は本当に良いアプローチを探してみました. これに関して正しい方向に向けられただけで本当に感謝しています。

<script>
    var list = angular.module('listApps', []);

    list.config(function($httpProvider) {
             ... set defaults ...
    });

    list.controller('ListCtrl', function ($scope, $http, $timeout){

        var table_headings = xxxxxx; //root + ending

        /* Pull Table Headings*/    
        $http.get(table_headings.toString()).success(function(data,status){
            $scope.headings = data.response.fields_names;
            $scope.status = status;
            console.log(data.response.fields_names);
        }).error(function(result,status){
            $scope.data = result.data || "Request failed";
            $scope.status = status;
        });

        // match table headings to the respective values in order to populate table correctly
        $scope.mapping = [];

        // At this point, not even focusing on the function; just need to access $scope.headings
        angular.forEach($scope.headings, function(value, key){
            this.push(key+':'+value);
        }, $scope.mapping);
    });
</script>
4

1 に答える 1