JSON:
[{
"SHFUserID": "400",
"Status": "2",
"Ticker": "DPAX",
"TickerID": "4512",
"TotalBought": "6300.000000",
"TotalSold": "4200.000000",
"TotalSharesNow": "23500.000000"
},
{
"SHFUserID": "400",
"Status": null,
"Ticker": "DPAX",
"TickerID": "4512",
"TotalBought": "70500.000000",
"TotalSold": "47000.000000",
"TotalSharesNow": "45000.000000"
},
{
"SHFUserID": "400",
"Status": null,
"Ticker": "ONP",
"TickerID": "10190",
"TotalBought": "1175.000000",
"TotalSold": "1645.000000",
"TotalSharesNow": "-470.000000"
}]
Json を繰り返し処理して、一意の TickerID のみを含む新しい obj を作成しようとしていますが、レコードのステータスがそれぞれ 1 または 2 の場合、「保留中」または「解決済み」の値が入力されます。
新しい目的のオブジェクト {"ticker": "Ticker", "tickerId": "TickerID", "Pending": 0 または 1, "Settled": 0 または 1}
サンプルデータに基づく期待される結果: {"ticker": "DPAX", "tickerId": 4512, "Pending":0, "Settled": 1},{"ticker": "ONP", "tickerId": 10190, 「保留中」:0、「決済済み」:0}
JavaScript コードは、Angular プロジェクトの controller.js ファイルにあります。既存の JSON を反復するために使用するコードに関係なく、空の配列が返されます。for ループ、for in ループを試してみましたが、既存の JSON で単純な ticker.length 関数を実行すると、0 が返されますか??
コントローラー.js:
function TickerListCtrl($scope, Ticker) {
var ticker = [];
ticker = Ticker.query();
$scope.tickers = ticker;
$scope.tickerMenu = ticker.length;
...
}
resource.js
angular.module('tickerServices', ['ngResource']).
factory('Ticker', function($resource){
return $resource('http:........../Rest/tickers.php', {}, {
query: {method:'GET', params:{UserID:400}, isArray:true}
});
});
app.js
angular.module('tickercat', ['tickercatFilters', 'tickerServices']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/tickers', {templateUrl: 'partials/tickers-list.html', controller: TickerListCtrl}).
otherwise({redirectTo: '/tickers'});
}]);
tickers-list.html:
...
<div class="span3">
<!--Sidebar content-->
...
<ul class="tickerList">
<li ng-repeat="ticker in tickers | filter:query | orderBy:orderProp">
<a href="#/ticker/{{ticker.TickerID}}">{{ticker.Ticker}}</a>
<p>{{ticker.Status}}</p>
</li>
</ul>
{{tickerMenu}}
</div>
ブラウザは期待どおりに「tickerList」を出力しますが、{{tickerMenu}} は 0 を返します。何が欠けているのかわかりません。