Googleシートからデータを読み取るアングルアプリのリバースエンジニアリングに取り組んでいます。角度ソートとngリピート
私がしようとしているのは、ソーステーブルのすべての行を含むシートの最後の列の一意の値を使用して "キー"の配列を作成することです。私はそのページにキー名を表示し、その下に同じキーを持つすべての行を表示します。ここで
は、私が持っているコードは、これまでのところです:
var app = angular.module('rowList', []);
app.controller('KeyCtrl', function($scope, $http, $sce) {
angular.module('app', ['ngSanitize']);
$scope.searchText = "";
$scope.method = 'jsonp';
$scope.url =
"https://docs.google.com/spreadsheet/tq?tqx=responseHandler:JSON_CALLBACK&key=1SltKrRbL7CZEhOq42IHNvb-8_d-dJyL8e0zdKYUd0y4&single=true&gid=1&headers=2&tq=select A,B,C,D,E,F";
$http({
method: $scope.method,
url: $scope.url
}).success(function(data, status) {
$scope.status = status;
}).error(function(data, status) {
$scope.data = data || "Request failed";
$scope.status = status;
});
// create easy quick lookup for key
var data = data.table;
var keySort = {};
for (var i = 0; i < data.rows.length; i++) {
// sort rows in to the correct key
// if the key doesn't exist, create an empty array
if (!keysSort[data.rows[i].Keys]) {
keysSort[data.rows[i].Keys] = [];
}
// add row
keysSort[data.rows[i].Keys].push(data.rows[i]);
}
// get the keys
var keyAry = Object.keys(keySort);
});
.appwrap {width:200px; background-color:cyan;}
.appwrap div {background-color:pink;}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="rowList">
<div ng-controller="KeyCtrl">
<div class="appwrap" ng-repeat='key in keyAry'>
{{key}}
<div ng-repeat='row in keySort.key'>
{{row.ColA}}
</div>
</div>
あなたは、私は二つのことを指摘したいの応答の前に:長期的に
1)を、私はなり文句を言いませんこのアプリを実行するためにGoogleシートを使用しています。
2)私が上記のように、私はすでに存在するものからこれをリバースエンジニアリングしようとしています。私は、JSに無駄なコードがある(または意味を持たないもの)と確信しています。私はベストを尽くしています。
JSONデータが届いているシートにhere's the linkがあれば、それは役に立ちます。 (誰でも見るために設定する必要があります)。 $スコープ属性として
問題の内容を教えてください。エラーはありますか?それは何ですか? –