我有两个日期文件:

<f或m
  action=""
  class="flex flex-col gap- p-5 items-center justify-center mt-[10rem]"
>
  <div name="step1" class="flex flex-col gap-5 p-5 items-center justify-center">
    <label f或="" class="text-5xl font-bold drop-shadow-md typewriter">
      <h1 class="">When do we start?</h1>
    </label>

    <p-calendar
      #date
      name="date"
      [(ngModel)]="flightSelectionService.startingDate"
      styleClass="my-inputswitch"
    ></p-calendar>
  </div>
  @if(flightSelectionService.startingDate !== flightSelectionService.endingDate
  ){
  <div
    name="step2 "
    class="flex flex-col gap-5 p-5 items-center justify-center"
  >
    <label f或="" class="text-5xl font-bold drop-shadow-md typewriter">
      <h1 class="">When do we come back?</h1>
    </label>
    <p-calendar
      #date
      name="date"
      [(ngModel)]="flightSelectionService.endingDate"
      styleClass="my-inputswitch"
    ></p-calendar>
  </div>
  }
</f或m>
<p>selected startingDate is {{ flightSelectionService.startingDate }}</p>
<p>selected endingDate is {{ flightSelectionService.endingDate }}</p>

以及一项服务:

imp或t { Injectable } from '@angular/c或e';

@Injectable({
  providedIn: 'root',
})
exp或t class FlightSelectionService {
  startingCity: string = '';
  selectedEndingCity: string = '';
  startingDate: Date = new Date();
  endingDate: Date = new Date();
  construct或() {}
}

我想显示 Select 第二次日期的可能性:

 <div   name="step2 "

仅当用户 Select 此分区中的第一个日期时

      <div name="step1"

由于对象是日期类型并且它们是初始化的,因此它们的值与now相同,所以我try 了这个比较来在加载页面时隐藏第二个迪夫:

  @if(flightSelectionService.startingDate !== flightSelectionService.endingDate

但它不起作用. 我也不能这样写

flightSelectionService.startingDate === ''

flightSelectionService.startingDate === numm

既然他们是约会.如何解决?

推荐答案

try 按下面的方式设置这两个日期!

也许两个日期相差微秒,这可能会导致您的问题!,您可以在服务构造函数中使用以下代码判断是否需要

console.log(this.startingDate.getTime() - this.endingDate.getTime());

如果存在非零的值,那么就存在时差,因此相等性判断可能不起作用!

import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root',
})
export class FlightSelectionService {
  startingCity: string = '';
  selectedEndingCity: string = '';
  startingDate: Date = new Date();
  endingDate: Date = this.startingDate;
  constructor() {}
}

Angular相关问答推荐

如何取回.angular/ache文件夹?

Angular 16路卫单元测试可观察到的SpyObj属性

Angular 16未知参数:独立

运行容器后,Docker容器立即退出

带输入的单位测试Angular 分量.需要

路由在全局导航中总是给我/甚至使用相对路径

如何通过innerHtml在模板中显示动态插入的动感图标?

成Angular 的嵌套router-outlet

在Angular 为17的独立零部件中使用@NGX-平移

显示用户名-Angular

我的验证器收到一个始终为空的可观察值

当我ng serve时,Angular CLI 提示TypeError: callbacks[i] is not a function

Angular ngFor 索引从 1 开始 循环

缺少 .angular-cli.json 文件:Angular

如何在数据表angular material中显示空消息,如果未找到数据

如何使用Angular4通过元素ID设置焦点

Angular 2 http 没有得到

formGroup 需要一个 FormGroup 实例

Angular单元测试输入值

从 Angular 中的自定义表单组件访问 FormControl