【发布时间】:2016-08-24 08:54:16
【问题描述】:
我想根据当前时间显示商店是打开还是关闭的状态。所以这里是代码。
在控制器中
$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
在视图中
<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>
问题是结果只满足第一个条件item.open_hour != '00:00:00',其余的都不遵守。因此,无论 open_hour 和 close_hour,所有 open_hour 不是 '00:00:00' 的数据都将打开。
我是 angularjs 的新手,不知道如何做这样的事情。请任何帮助将不胜感激。
【问题讨论】:
-
<span ng-if="{{item.open_hour != '00:00:00' && item.open_hour <= 'current_time' && item.close_hour >= current_time}}">We're open</span>改成这个 -
@HardikVaghani 你的回答是错误的。
item.open_hour <= 'current_time'→ current_time 这是一个范围变量而不是字符串。 -
@HardikVaghani 那行得通!但我认为它应该在 current_time 中不带引号。还是谢谢
标签: javascript angularjs if-statement time