如何將“2022-01-07 15:43:00”字串變數與*ngIfangular html的當前日期時間進行比較?
請幫助和指導。
uj5u.com熱心網友回復:
你可以在ngIf指令中使用一個函式,比如*ngIf="showBasedOnDate(date)"在你的 TS 檔案中創建這個函式并在那里處理所有邏輯。回傳true或false以顯示元素。
<div *ngIf="showBasedOnDate(date)">
I am shown
</div>
showBasedOnDate(date) {
// here you can have as much logic as you would like, based on your needs.
return (date === new Date() );
}
uj5u.com熱心網友回復:
問題是:這真的是你想要的嗎?該元素僅在可笑的短時間內可見。我猜您想在達到給定時間后顯示一個元素。
還要記住,將方法系結到模板通常被認為是不好的做法,因為它會在任何渲染周期中重新計算。系結到在給定時間發出的異步 Observable 將是一種更好的方法。
所以你的系結可能看起來像
*ngIf="(isNow$ | async)===true"
你的具體實作可能類似于
isNow$: Observable<boolean>;
...
const dateDifference = date-Date.now();
this.isNow$ = of(true).pipe(delay(dateDifference);
這基本上可以讓您計算時刻,然后從那時起顯示 dom 內的元素。如果您真的只想在時間相等的那一刻只看到 DOM 元素并立即再次將其關閉,您應該將 Observable 重新發送為 false。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/382540.html
