2016-08-24 3 views
1

verwenden Ich möchte einen Status zeigen, ob der Shop geöffnet oder geschlossen ist, basierend auf der aktuellen Zeit. Also hier ist der Code.Wie If-Anweisung in Winkel js

im Regler

$http.get(httpUrl + 'shops/get_shops') 
.then(function (returns) { 
    $scope.shops = returns.data; 
}); 
var now = new Date(); 
$scope.current_time = now.getHours() + ':' + now.getMinutes() + ':00';// to get hh:mm:ss format 

In der Ansicht

<div ng-repeat="item in shops"> 
    <span ng-if="item.open_hour != '00:00:00' && item.open_hour <= '{{current_time}}' && item.close_hour >= {{current_time}}">We're open</span> 
</div> 

Das Problem ist, dass das Ergebnis nur die erste Bedingung erfüllen, und der Rest item.open_hour != '00:00:00' missachtete sind. So werden alle Daten, die open_hour nicht '00: 00: 00 'haben, unabhängig von der open_hour und close_hour geöffnet.

Ich bin neu bei angularjs und weiß nicht, wie man so etwas macht. Bitte jede Hilfe wird geschätzt.

+0

' Wir wieder öffnen 'ändern Sie diese –

+0

@HardikVaghani Ihre Antwort, es ist falsch. 'item.open_hour <= 'current_time'' → current_time Es ist ein Bereich var kein String. – gianlucatursi

+0

@HardikVaghani das ist Arbeit !! aber ich denke, es sollte ohne Zitat in current_time sein. danke trotzdem – Abaij

Antwort

3

Wenn Sie in ng-if sind, brauchen Sie nicht {{}} für einen Bereich var.

<span ng-if="item.open_hour != '00:00:00' && item.open_hour <= current_time && item.close_hour >= current_time">We're open</span> 
+0

ja du hast recht. danke für die Information – Abaij