Javascript ng如果属性等于DateTime.MinValue,则重复隐藏该属性

Javascript ng如果属性等于DateTime.MinValue,则重复隐藏该属性,javascript,html,angularjs,Javascript,Html,Angularjs,我试图隐藏包含日期的单元格(不是整行),该日期等于DateTime.MinValue,基本上是0001-01-01T00:00:00 以下是我的视图模型: $scope.vm.users = [ { "Username": "user1", "EarliestLogin": "0001-01-01T00:00:00", "LatestLogin": "0001-01-01T00:00:00" }, { "Us

我试图隐藏包含日期的单元格(不是整行),该日期等于
DateTime.MinValue
,基本上是
0001-01-01T00:00:00

以下是我的视图模型:

$scope.vm.users = [
    {
        "Username": "user1",
        "EarliestLogin": "0001-01-01T00:00:00",
        "LatestLogin": "0001-01-01T00:00:00"
    },
    {
        "Username": "user2",
        "EarliestLogin": "2016-07-15T11:18:19Z",
        "LatestLogin": "2016-07-15T11:18:19Z"
    },
    {
        "Username": "user3",
        "EarliestLogin": "0001-01-01T00:00:00",
        "LatestLogin": "0001-01-01T00:00:00"
    }
];
该表如下所示:

<table>
  <tr>
      <th>User Name</th>
      <th>Earliest Login</th>
      <th>Latest Login</th>
  </tr>
  <tr ng-repeat="user in vm.users">
      <td>{{user.Username}}</td>
      <td>{{user.EarliestLogin | date:'short'}}</td>
      <td>{{user.LatestLogin | date:'short'}}</td>
   </tr>
</table>
所需输出:

User Name   Earliest Login  Latest Login
user1   1/1/01 12:00 AM 1/1/01 12:00 AM
user2   7/15/16 1:18 PM 7/15/16 1:18 PM
user3   1/1/01 12:00 AM 1/1/01 12:00 AM
User Name   Earliest Login  Latest Login
user1   
user2   7/15/16 1:18 PM 7/15/16 1:18 PM
user3   

我可以使用
ng repeat
上的过滤器隐藏整行,但我不知道如何仅在单元格
DateTime.MinValue
时隐藏该单元格


这是我的。

乍一看,您可以创建一个助手函数

$scope.vm.isDateTimeMinValue = function (value) {
    return value === "0001-01-01T00:00:00";
};
并在模板中使用它

<tr ng-repeat="user in vm.users">
    <td>{{user.Username}}</td>
    <td><span ng-hide="vm.isDateTimeMinValue(user.EarliestLogin)">{{user.EarliestLogin | date:'short'}}</span></td>
    <td><span ng-hide="vm.isDateTimeMinValue(user.LatestLogin)">{{user.LatestLogin | date:'short'}}</span></td>
</tr>

{{user.Username}
{{user.EarliestLogin}日期:'short'}
{{user.LatestLogin}日期:'short'}


注意您可以将
“0001-01-01T00:00:00”
定义为使用相应服务的辅助功能。

乍一看,您可以创建一个辅助功能

$scope.vm.isDateTimeMinValue = function (value) {
    return value === "0001-01-01T00:00:00";
};
并在模板中使用它

<tr ng-repeat="user in vm.users">
    <td>{{user.Username}}</td>
    <td><span ng-hide="vm.isDateTimeMinValue(user.EarliestLogin)">{{user.EarliestLogin | date:'short'}}</span></td>
    <td><span ng-hide="vm.isDateTimeMinValue(user.LatestLogin)">{{user.LatestLogin | date:'short'}}</span></td>
</tr>

{{user.Username}
{{user.EarliestLogin}日期:'short'}
{{user.LatestLogin}日期:'short'}


注意您可以将
“0001-01-01T00:00:00”
定义为使用相应的服务。

如果
td
单元格内的
span
标记上有条件,则使用
$scope.DateTime.MinValue
是一个cope变量,具有所需的最小值:

<tr ng-repeat="user in vm.users">
   <td>{{user.Username}}</td>
   <td><span ng-if="$scope.DateTime.MinValue != user.EarliestLogin">{{user.EarliestLogin | date:'short'}}</span></td>
   <td><span ng-if="$scope.DateTime.MinValue != user.LatestLogin ">{{user.LatestLogin | date:'short'}}</span></td>
</tr>

{{user.Username}
{{user.EarliestLogin}日期:'short'}
{{user.LatestLogin}日期:'short'}

如果
td
单元格内的
span
标记上有条件,则使用
ng,取该
$scope.DateTime.MinValue
是一个cope变量,具有所需的最小值:

<tr ng-repeat="user in vm.users">
   <td>{{user.Username}}</td>
   <td><span ng-if="$scope.DateTime.MinValue != user.EarliestLogin">{{user.EarliestLogin | date:'short'}}</span></td>
   <td><span ng-if="$scope.DateTime.MinValue != user.LatestLogin ">{{user.LatestLogin | date:'short'}}</span></td>
</tr>

{{user.Username}
{{user.EarliestLogin}日期:'short'}
{{user.LatestLogin}日期:'short'}

martin我无法理解一件事,您想用最早登录和最新登录还是最早登录和DateTime进行检查。MinValue???@SaE抱歉,应该澄清更多。我想隐藏每个最早的登录名,该登录名等于
0001-01-01T00:00:00
,与最新登录名相同,但仍显示用户名您是否尝试过使用ng if或ng show作为我们下面提到的伙伴之一??martin我无法理解一件事,您想用最早登录和最新登录还是最早登录和DateTime进行检查。MinValue???@SaE抱歉,应该澄清更多。我想隐藏每个最早的登录名,该登录名等于
0001-01-01T00:00:00
,与最新登录名相同,但仍显示用户名您是否尝试使用ng if或ng show作为下面提到的伙伴之一??JavaScript中没有
DateTime.MinValue
。此外,如果它应该在模板中使用字符串常量,这不是一个好的选择。是的,没有,我希望它是一个范围变量,而在您的情况下,问题是“”将隐藏起来。如果只有一个值匹配,比如wise如果EarliestLogin匹配而LatestLogin不匹配,那么表的结构将被破坏。JavaScript中没有
DateTime.MinValue
。此外,如果它应该在模板中使用字符串常量,这不是一个好的选择。是的,没有,我希望它是一个范围变量,而在您的情况下,问题是“”将隐藏起来。如果只有一个值匹配,比如wise如果EarliestLogin匹配而LatestLogin不匹配,那么表的结构将被破坏。