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,但如果记录 Status 分别为 1 或 2,则仍会填充“Pending”或“Settled”值。
新的所需对象 {"ticker": "Ticker", "tickerId": "TickerID", "Pending": 0 or 1, "Settled": 0 or 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;
...
}
资源.js
angular.module('tickerServices', ['ngResource']).
factory('Ticker', function($resource){
return $resource('http:........../Rest/tickers.php', {}, {
query: {method:'GET', params:{UserID:400}, isArray:true}
});
});
应用程序.js
angular.module('tickercat', ['tickercatFilters', 'tickerServices']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/tickers', {templateUrl: 'partials/tickers-list.html', controller: TickerListCtrl}).
otherwise({redirectTo: '/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。不确定我缺少什么。