Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs json上的角度迭代_Angularjs_Angularjs Scope - Fatal编程技术网

Angularjs json上的角度迭代

Angularjs json上的角度迭代,angularjs,angularjs-scope,Angularjs,Angularjs Scope,因此,我有一个json,我试图获得所有活动用户的统计数据。当我尝试在for循环中做类似的事情时 for(var i=0; i < user.User.Stats.data.length; $i++;){ return user.User.Stats[i].active === "1"; } 这是我的html <div ng-controller="MyCtrl"> <div ng-repeat="user in _users | filt

因此,我有一个json,我试图获得所有活动用户的统计数据。当我尝试在for循环中做类似的事情时

for(var i=0; i < user.User.Stats.data.length; $i++;){
            return user.User.Stats[i].active === "1";    
}
这是我的html

<div ng-controller="MyCtrl">
<div ng-repeat="user in _users | filter:isActive">
    {{user.User.userid}}
</div>
</div>

{{user.user.userid}
这是我的js

var myApp = angular.module('myApp', []);

function MyCtrl($scope) {

    $scope.isActive = function(user) {
       // for(var i=0; i < user.User.Stats.data.length; $i++;){
            return user.User.Stats[0].active === "1";    
       // }

    };

    $scope._users = [
        {
        "User": {
            "userid": "19571",
            "status": "7",
            "active": "1",
            "lastlogin": "1339759025307",
            "Stats": [
                {
                "active": "1",
                "catid": "10918",
                "typeid": "71",
                "Credits": [
                    {
                    "content": "917,65",
                    "active": "1",
                    "type": "C7"},
                {
                    "content": "125,65",
                    "active": "1",
                    "type": "B2"}
                ]},
                                {
                "active": "1",
                "catid": "10918",
                "typeid": "71",
                "Credits": [
                    {
                    "content": "917,65",
                    "active": "1",
                    "type": "C7"},
                {
                    "content": "125,65",
                    "active": "1",
                    "type": "B2"}
                ]}
            ]
        }}];
}
var myApp=angular.module('myApp',[]);
函数MyCtrl($scope){
$scope.isActive=函数(用户){
//对于(var i=0;i

这是一个演示链接

很明显,它不起作用,因为在
user.user.Stats
路径中没有名为
data
的变量。似乎您的业务逻辑中缺少了一部分。什么时候应该过滤掉用户?当它们没有
Stats
,或者
Stats
数组中的所有单元格都有
活动===1的记录时?
要查看
Stats
数组中的所有单元格,正确的语法如下:

for(var i=0; i < user.User.Stats.length; $i++;){
    var singleCell = user.User.Stats[i];
    // singleCell.active === "1";    
}
for(var i=0;i
我不确定它是否适合解决您的问题,但如果您只想显示活动用户,请尝试以下设计:

<div ng-controller="MyCtrl">
<div ng-repeat="user in _users | filter:{User.active:1}">
        {{user.User.userid}}
</div>
</div>

{{user.user.userid}
展示: 19571年


没什么复杂的,只是语法有误

for循环需要这样编写:

for(var i=0; i < user.User.Stats.length; i++)
for(var i=0;i
即没有多余的
$
,没有多余的
,并且
统计数据中没有
数据


另请注意,您可以改用。

for循环的语法错误。顺便说一下,您也可以改用angular.forEach。
for(var i=0; i < user.User.Stats.length; i++)