」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 以下是幾種可能的標題: 1. How to Make CSS Transitions Work with `ngIf` in Angular 2? 2. Why Does `ngIf` Break My CSS Transitions in Angular 2? 3. Angular 2: Combining `ngIf` and CSS Animations for Smooth Trans

以下是幾種可能的標題: 1. How to Make CSS Transitions Work with `ngIf` in Angular 2? 2. Why Does `ngIf` Break My CSS Transitions in Angular 2? 3. Angular 2: Combining `ngIf` and CSS Animations for Smooth Trans

發佈於2024-11-08
瀏覽:365

以下是几种可能的标题:

1. How to Make CSS Transitions Work with `ngIf` in Angular 2? 
2. Why Does `ngIf` Break My CSS Transitions in Angular 2?
3. Angular 2: Combining `ngIf` and CSS Animations for Smooth Transitions
4. Troubleshooting CSS Transitions and `ngIf` in

Angular 2 的 ngIf 和 CSS 過渡/動畫

如何在 Angular 2 中使用 CSS 將 div 從右側滑入?

Notes

.transition{
  -webkit-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
  -moz-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
  -ms-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out ;
  -o-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
  transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
  margin-left: 1500px;
  width: 200px;
  opacity: 0;
}

.transition{
  opacity: 100;
  margin-left: 0;
}

如果僅使用 [ngClass] 來切換類,並且 利用 opacity,則該程式碼可以正常運作。但不想讓該元素從一開始就被渲染,所以先用 ngIf "隱藏"它,但此時過渡將不起作用。

更新 4.1.0

使用了過渡動畫API,無需再利用 [hidden] 或 [*ngIf hidden]。

更新2.1.0

查看angular.io 上的動畫

import { trigger, style, animate, transition } from '@angular/animations';

@Component({
  selector: 'my-app',
  animations: [
    trigger(
      'enterAnimation', [
        transition(':enter', [
          style({transform: 'translateX(100%)', opacity: 0}),
          animate('500ms', style({transform: 'translateX(0)', opacity: 1}))
        ]),
        transition(':leave', [
          style({transform: 'translateX(0)', opacity: 1}),
          animate('500ms', style({transform: 'translateX(100%)', opacity: 0}))
        ])
      ]
    )
  ],
  template: `
    

    
xxx
` }) export class App { show:boolean = false; }

原始回答

當表達式變為 false 時,*ngIf 會從 DOM 中移除元素,一個不存在的元素是無法進行過渡的。

可以使用hidden 屬性來取代:

最新教學 更多>
  • JavaScript 困境:嵌入腳本與內嵌執行?
    JavaScript 困境:嵌入腳本與內嵌執行?
    外部腳本標籤中的JavaScript:來源困境當使用帶有 的外部腳本標籤時語法,了解它們的限制很重要。嘗試將 JavaScript 直接嵌入到這些標記中(如下例所示)會導致意外行為:<script src="myFile.js"> alert("Th...
    程式設計 發佈於2024-11-08
  • 屬性 Hooks 無 PHP
    屬性 Hooks 無 PHP
    11 月,我們將推出我們心愛的 PHP 8.4 版本,隨之而來的是社區期待已久的新功能:屬性掛鉤!受到 C#、Swift 和 Kotlin 等其他語言的啟發,這個新功能消除了魔法方法 __set() 和 __get() 的麻煩。 我將展示一個範例,說明目前如何擁有 getter 和 setter,...
    程式設計 發佈於2024-11-08
  • 如何在不阻塞伺服器和客戶端的情況下即時讀取和回顯伺服器目前正在寫入的上傳檔案大小?
    如何在不阻塞伺服器和客戶端的情況下即時讀取和回顯伺服器目前正在寫入的上傳檔案大小?
    如何在不阻塞伺服器和客戶端的情況下,即時讀取和列印正在伺服器端寫入的上傳檔案的大小? 讓我們展開來討論這個問題:為了即時取得文件上傳的進度,我們在POST 請求中透過fetch() 從Blob、File、TypedArray 或ArrayBuffer 物件設定了body 物件。 目前的實作將 Fil...
    程式設計 發佈於2024-11-08
  • 如何在 Python 中確定閏年:綜合指南
    如何在 Python 中確定閏年:綜合指南
    使用 Python 計算閏年來確定某一年是否為閏年涉及可以透過程式評估的特定標準。閏年可以四整除,但能被一百但不能被四百整除的年份除外。 解決此問題的一個潛在方法是實作一個自訂函數來檢查閏年。但是,當嘗試使用此類函數時,您可能會遇到模組傳回 None 而不是所需輸出的問題。 更強大、更全面的解決方案...
    程式設計 發佈於2024-11-08
  • 如何在 PHP 中使用正規表示式提取以字元為界的子字串?
    如何在 PHP 中使用正規表示式提取以字元為界的子字串?
    在PHP 中提取由字元限制的子字串從字串中提取由特定字元限制的短語是一項常見的編程任務。 PHP 透過正規表示式為此提供了方便的解決方案。 考慮以下字串:$String = "[modid=256]";擷取之間的部分等號(=)與右方括號(] ),可以使用以下程式碼:$input ...
    程式設計 發佈於2024-11-08
  • YAML 到 JSON 轉換:綜合指南
    YAML 到 JSON 轉換:綜合指南
    YAML 和 JSON 是兩種流行的資料序列化格式,每種格式都有獨特的優勢。了解如何在它們之間進行轉換對於跨不同平台和系統工作的開發人員很有用。在本指南中,我們將探討 YAML 和 JSON 之間的主要差異、為什麼您可能需要在它們之間進行轉換,並提供執行轉換的實用步驟和工具。 YAML 與 JS...
    程式設計 發佈於2024-11-08
  • 如何找到 PHP 數組中最高值的索引?
    如何找到 PHP 數組中最高值的索引?
    確定數組中最大值的索引使用數組時,確定具有最大值的元素的索引為一項共同的任務。讓我們探討一下這個問題的解決方案。 問題描述:給定一個數組,檢索數組中存在的最高值的索引。例如,若陣列為:[11 =&gt; 14, 10 =&gt; 9, 12 =&gt; 7, 13 =&...
    程式設計 發佈於2024-11-08
  • 引入靈活且與框架無關的 Laravel Livewire Modal 包
    引入靈活且與框架無關的 Laravel Livewire Modal 包
    引入靈活的 Laravel Livewire 模態包 Laravel 和 Livewire 徹底改變了我們用最少的 JavaScript 建立動態應用程式的方式。但在處理模態時,大多數解決方案往往將我們鎖定在特定的設計框架中,例如 Bootstrap 或 Tailwind CSS。...
    程式設計 發佈於2024-11-08
  • Laravel 可郵寄教程
    Laravel 可郵寄教程
    在 Laravel 中发送电子邮件需要三个组件之间的协作:Laravel 邮件程序、Laravel 可邮件类和 Mail 外观。这三者中的每一个都涉及发送电子邮件生命周期的不同方面。 Mailers 是连接电子邮件发送服务(如 AWS SES、Sendgrid、Mailgun 等)的驱动程序,应用...
    程式設計 發佈於2024-11-08
  • 如何在 Python 多處理應用程式中實現穩健的日誌記錄?
    如何在 Python 多處理應用程式中實現穩健的日誌記錄?
    Python 中的多處理日誌記錄:一個強大的解決方案當使用Python 的多處理模組時,由於缺乏進程,日誌記錄變得更加複雜-多處理感知記錄器的共享鎖定,可能導致sys.stderr 輸出混亂。 要解決針對這項挑戰,另一種方法是建立一個自訂日誌處理程序,透過管道將輸出定向到父進程。此方法依賴佇列來處理...
    程式設計 發佈於2024-11-08
  • Go 的建置系統可以處理「go build」以外的自訂步驟嗎?
    Go 的建置系統可以處理「go build」以外的自訂步驟嗎?
    透過自訂步驟利用Go 的建置系統在軟體開發中,當基本指令出現時,可能會出現擴充建置系統功能的需求證明不足。這個問題探討了Go的建置工具是否允許與go build一起執行額外的步驟。 pkg-config和自訂標誌雖然可以傳遞額外的標誌要使用pkg-config 建置工具,此方法僅限於與特定程式庫關聯...
    程式設計 發佈於2024-11-08
  • 如何驗證MySQL DELETE操作是否成功?
    如何驗證MySQL DELETE操作是否成功?
    如何驗證 MySQL DELETE 操作是否成功使用 MySQL 執行 DELETE 查詢時,確定操作是否成功至關重要成功的。這在根據條件刪除特定記錄時尤其重要。 mysql_query() 方法:對於使用mysql_query() 的傳統MySQL 交互,成功的DELETE 操作將返回布林值:TR...
    程式設計 發佈於2024-11-08
  • 您可以指派給類別類型的右值參考嗎?  一個悖論的解釋。
    您可以指派給類別類型的右值參考嗎? 一個悖論的解釋。
    分配給類別類型的右值引用:已解決的悖論在C 領域,左值和右值之間的區別至關重要。左值表示具有可以修改的記憶體位置的對象,而右值則表示不能修改的臨時對像或常數。然而,一個有趣的程式碼片段提出了關於這個基本分歧的問題:class Y { public: explicit Y(size_t num...
    程式設計 發佈於2024-11-08
  • Laravel 的 TrimStrings 中介軟體如何導致問題
    Laravel 的 TrimStrings 中介軟體如何導致問題
    Laravel 是 PHP 世界中的一個流行框架,為開發人員提供了簡化工作的強大工具。然而,有時這些便利可能會導致意想不到的問題。在這篇文章中,我將討論 Laravel 中的 TrimStrings 中介軟體如何導致問題以及如何解決這些問題。 什麼是 TrimStrings 中間件...
    程式設計 發佈於2024-11-08
  • 使用 JavaScript 實作推播通知:生產級方法
    使用 JavaScript 實作推播通知:生產級方法
    在这篇文章中,您将学习如何通过遵循生产级最佳实践使用 JavaScript 实现推送通知。最好的事情之一是我也会提供一个文件夹结构,以便您可以轻松地设置您的项目。 在现实应用程序中设置推送通知需要仔细规划。我将向您展示如何在专业的 Node.js 应用程序中构建此功能。我们将介绍重要的部分,例如如何...
    程式設計 發佈於2024-11-08

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3