找到json数组的特定部分然后在角度更深

时间:2015-03-13 11:02:27

标签: javascript json angularjs

对措辞不好的问题道歉,我正在努力解决这个问题。

我有以下JSON数组:

{

    "status": {
        "available": [
            { 
                "title": "Currently available for contracts" ,
                "dateAvailable": null,
                "company": null
            }
        ],
        "on-assignment": [
            { 
                "title": "Currently Unavailable" ,
                "dateAvailable": "2015-03-25",
                "company": "BBQ Digital"
            }
        ],
        "on-holiday": [
            { 
                "title": "Currently on holiday" ,
                "dateAvailable": null,
                "company": null
            }
        ]
    }
}

加上以下控制器:

.controller('statusCtrl', function($scope, $http) {
        $scope.astatus = [];
        $http.get('app/model/status.json')
            .success( function(response) {
                $scope.astatus = response;
            })
            .error( function(err) {
                alert(err);
            });
    })

使用AngularJS(v1.3.14)我想检查一个变量,看看我是“可用”,“转让”还是“放假”,并显示“标题”,“dateAvailable”和“公司” '正确状态部分的属性。以类似的方式(原谅伪代码):

    <div class="cta">
        // display the correct title
        {{ status.[next level].title }}
        if (on-assignment) {
            <span>Currently working for:</span>
            {{ status.[next level].company}}
            <span>I will be available on:</span>
            {{ status.[next level].dateAvailable}}
        }
        <a href="#contact" class="button">Get in touch</a>
    </div>

我已经在模板中包含了伪代码,以便在清除之后制作出来,但是如果可能的话,我更喜欢这个逻辑在控制器中。

我是一名优秀的JavaScript / jQuery开发人员,但我对JSON的体验仅限于更简单的东西,而且我是AngularJS的初学者,所以请在回答中牢记这一点。

注意:正如我正在努力学习,解释你的答案会非常有帮助。

1 个答案:

答案 0 :(得分:1)

您可以在此处使用Angular JS filter

{{ filter_expression | yourArray : {status: 'on-assignment'} : true}}

这应该只返回“转让”的内容。