在 Angular 项目中迭代 JSON 响应以创建新的 $scope obj 我可以在应用程序中使用的
iterate JSON response in Angular project to create new $scope obj i can use in the app
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 以创建一个新的 obj,该 obj 仅包含唯一的 TickerID,但如果记录状态分别为 1 或 2,则仍会填充"待处理"或"已结算"值。
新的所需对象 {"ticker": "Ticker", "tickerId": "TickerID", "待定": 0 或 1, "已结算": 0 或 1}
基于示例数据的预期结果: {"代码": "DPAX", "tickerId": 4512, "待定":0, "已结算": 1},{"ticker": "ONP", "tickerId": 10190, "待定":0, "已结算": 0}
JavaScript代码位于Angular项目的控制器.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'});
}]);
股票代码列表.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>
浏览器按预期输出"股票代码列表",但 {{tickerMenu}} 返回 0。不知道我错过了什么。
不是因为您有针对 UL 元素的控制器,而是在关闭 UL 后调用 tickerMenu scope 属性吗?
答案是创建自定义的.filter。
so: 股票代码中的股票代码 | myCustomFilter
http://docs.angularjs.org/guide/dev_guide.templates.filters
相关文章:
- AngularJS:ng之后,重复$scope值未按预期更新
- $ionicplatform内的$scope不;不起作用
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- 使用$scope方法时的ControllerAs语法
- 如何将ngrepeat下的ngmodel绑定到$scope
- 另一个if(!$scope.$$phase)$scope$apply()szenario-需要帮助才能通关
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- $scope变量被视为字符串AngularJs
- Three.JS OBJ模型未显示
- ng在更新$scope后重复不更新信息
- 正在获取Angular以检测$scope中的更改
- 如何惯用地手动销毁scope&在AngularJS中重新创建
- Understanding Javascript scope with "var that = this&qu
- AngularJS,angular.element($0).scope()揭示了每个控制器的函数
- ThreeJS访问加载的obj模型中的对象
- 无法在obj+mtl文件中加载纹理
- Ng出口无法访问父$scope
- ng选项-用vm替换$scope
- $scope变量,ng隐藏/显示
- 在 Angular 项目中迭代 JSON 响应以创建新的 $scope obj 我可以在应用程序中使用的