ng-show/ng-hide 基于函数调用
ng-show/ng-hide based on function call
我正在尝试比较控制器函数中的两个日期,并根据控制器中的逻辑将 true/false 返回给 ng-show 和 ng-hide,但它没有按预期工作,下面是同样的plnkr。谁能帮我弄清楚是什么问题。
http://plnkr.co/edit/CWvb1uy0PeYFb0Tf34rY?p=preview
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope,$filter) {
$scope.name = 'World';
$scope.SetDate=function(dt)
{
$scope.NewDt=$filter('date')(dt, 'shortDate');
$scope.currentDate = $filter('date')(new Date(), 'shortDate');
$scope.parsedCurr=Date.parse($scope.currentDate);
$scope.parsedFuture= Date.parse($scope.NewDt);
if ( $scope.parsedCurr <$scope.parsedFuture) {
return true;
}
}
});
你否认了两次,你有:
<span ng-hide="!SetDate('2015-12-31T00:00:00')">
你需要
<span ng-hide="SetDate('2015-12-31T00:00:00')">
如果您只需要检查两个已解析的日期,我会在 ng-show 中进行检查以简化代码。
<span ng-show="parsedCurr < parsedFuture">
You can see me!
</span>
<span ng-hide="parsedCurr < parsedFuture">
You can't see me :(
</span>
或者,如果您不想使用该功能,只需稍微更改逻辑并使用 ng-show 或 ng-hide。像这样:
$scope.SetDate=function(dt)
{
$scope.NewDt=$filter('date')(dt, 'shortDate');
$scope.currentDate = $filter('date')(new Date(), 'shortDate');
$scope.parsedCurr=Date.parse($scope.currentDate);
$scope.parsedFuture= Date.parse($scope.NewDt);
if ( $scope.parsedCurr < $scope.parsedFuture) {
return true;
}
else
{
return false;
}
}
你的标记是这样的:
<span ng-show="SetDate('2015-12-31T00:00:00')">
SHOW ME
</span>
<br>
<span ng-hide="SetDate('2015-12-31T00:00:00')">
HIDE ME
</span>
我正在尝试比较控制器函数中的两个日期,并根据控制器中的逻辑将 true/false 返回给 ng-show 和 ng-hide,但它没有按预期工作,下面是同样的plnkr。谁能帮我弄清楚是什么问题。
http://plnkr.co/edit/CWvb1uy0PeYFb0Tf34rY?p=preview
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope,$filter) {
$scope.name = 'World';
$scope.SetDate=function(dt)
{
$scope.NewDt=$filter('date')(dt, 'shortDate');
$scope.currentDate = $filter('date')(new Date(), 'shortDate');
$scope.parsedCurr=Date.parse($scope.currentDate);
$scope.parsedFuture= Date.parse($scope.NewDt);
if ( $scope.parsedCurr <$scope.parsedFuture) {
return true;
}
}
});
你否认了两次,你有:
<span ng-hide="!SetDate('2015-12-31T00:00:00')">
你需要
<span ng-hide="SetDate('2015-12-31T00:00:00')">
如果您只需要检查两个已解析的日期,我会在 ng-show 中进行检查以简化代码。
<span ng-show="parsedCurr < parsedFuture">
You can see me!
</span>
<span ng-hide="parsedCurr < parsedFuture">
You can't see me :(
</span>
或者,如果您不想使用该功能,只需稍微更改逻辑并使用 ng-show 或 ng-hide。像这样:
$scope.SetDate=function(dt)
{
$scope.NewDt=$filter('date')(dt, 'shortDate');
$scope.currentDate = $filter('date')(new Date(), 'shortDate');
$scope.parsedCurr=Date.parse($scope.currentDate);
$scope.parsedFuture= Date.parse($scope.NewDt);
if ( $scope.parsedCurr < $scope.parsedFuture) {
return true;
}
else
{
return false;
}
}
你的标记是这样的:
<span ng-show="SetDate('2015-12-31T00:00:00')">
SHOW ME
</span>
<br>
<span ng-hide="SetDate('2015-12-31T00:00:00')">
HIDE ME
</span>