对措辞不好的问题道歉,我正在努力解决这个问题。
我有以下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的初学者,所以请在回答中牢记这一点。
注意:正如我正在努力学习,解释你的答案会非常有帮助。
答案 0 :(得分:1)
您可以在此处使用Angular JS filter。
{{ filter_expression | yourArray : {status: 'on-assignment'} : true}}
这应该只返回“转让”的内容。