我正在学习Angular,有一些酒店房间价格。但是,如果您入住超过 1 晚,则在 NightlyRate 中返回的数据位于数组中,否则位于对象中。
我不确定如何处理这个问题?我可以在视图中内联执行此操作,还是应该在控制器或模型中执行此操作?
如果超过1晚,我需要添加ng-repeat
如果 1 晚
{{roomPrices.NightlyRatesPerRoom.NightlyRate['@baseRate']}}
"NightlyRatesPerRoom": {
"@size": "1",
"NightlyRate": {
"@baseRate": "154.55",
"@rate": "154.55",
"@promo": "false"
}
},
如果超过1晚
<div ng-repeat="roomPrice in roomPrices.NightlyRatesPerRoom.NightlyRate">
<div class="row">
<div class="col-xs-8">
<p>Night {{$index+1}}:</p>
</div>
<div class="col-xs-4">
<p class="text-xs-right">${{roomPrice['@baseRate']}}</p>
</div>
</div>
</div>
"NightlyRatesPerRoom": {
"@size": "3",
"NightlyRate": [
{
"@baseRate": "154.55",
"@rate": "154.55",
"@promo": "false"
},
{
"@baseRate": "154.55",
"@rate": "154.55",
"@promo": "false"
},
{
"@baseRate": "154.55",
"@rate": "154.55",
"@promo": "false"
}
]
},
你可以在下面看到...识别它是对象还是数组
var objnight = roomPrices.NightlyRatesPerRoom.NightlyRate;
if(Object.prototype.toString.call(objnight).toString() == "[object Array]"){
alert("array")
}else if( Object.prototype.toString.call(objnight).toString()=="[object Object]"){
alert(object)
}