2016-02-16 39 views
0

我正在學習Angular並且有一些酒店房間的價格。但是,如果您停留超過1夜,則在NightlyRate中返回的數據將存儲在一個數組中,否則它將位於一個對象中。陣列或物體條件

我不知道如何解決這個問題?我可以在視圖中以內聯方式執行此操作,還是應該在控制器或模型中執行此操作?

我需要添加一個ng-repeat如果超過一晚

如果1夜

{{roomPrices.NightlyRatesPerRoom.NightlyRate['@baseRate']}} 

"NightlyRatesPerRoom": { 
"@size": "1", 
"NightlyRate": { 
    "@baseRate": "154.55", 
    "@rate": "154.55", 
    "@promo": "false" 
} 

},

如果超過一晚

<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" 
    } 
] 

},

+0

退房NG-如果 – jornare

+1

你爲什麼不只是讓一個數組不管有多少個晚上, ? – Seonixx

+0

數據來自第三方API,因此我無法更改它 – ottz0

回答

-1

你可以看到下面...,以確定它是否是對象或數組

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) 
} 
+0

這個可怕的建議。相反,你可以使用'angular.isArray'。 –