Vue の v-for についての簡単な説明、キー値はトランジション効果とアニメーション効果に影響します (詳細なコードの説明)
前回の記事「Vueを使ってアニメーション効果を実現する方法を教えます(コード付き)」では、Vueを使ってアニメーション効果を実現する方法を紹介しました。以下の記事では、Vue のキー値がトランジション効果やアニメーション効果に与える影響について簡単に紹介しますので、困っている方は参考にしていただければ幸いです。
Vue.js
v-for
,key
について 順序変更はトランジション アニメーションのパフォーマンスに影響します
Vue.js
v-for
について、key
の値はトランジションに影響しますアニメーションのパフォーマンスに関するこの問題は、Message
コンポーネントを作成するときに発生します。まずコード部分を見てみましょう。
子コンポーネント:
<!-- Notice: --> <transition :name="transitionName" @enter="enter" @leave="leave"> ...... .. </transition> <!-- JS: --> <script> export default { methods: { enter(e) { e.style.height = e.scrollHeight + "px"; }, leave(e) { e.style.height = 0; }, }, }; </script> <!-- CSS: --> <style> transition: all 0.2s ease-in-out; </style>
親コンポーネント:
<notice v-for="(item, index) in notices" :key="index"> ...... </notice>
JS
:
data() { return { notices: [] }; }, //notices 新增的时候自动加入定时器来移除 setTimeout(() => { let index = 0 //这里假设我已经取得了移除的 index索引, 可能不是依次的123456 this.notices.splice(index, 1); }, time) //time 为传入的随机不等值
理論的には、子コンポーネントが削除されると、1
から 0
までの滑らかな高さになります。アニメーションをトランジションしますが、それ以外の場合、アニメーションは削除されるたびに最後のアニメーションにのみ適用されます。私は困惑していますが、あらゆる種類の js
、css
実装はあまり理想的ではありません。それでも次々と引っかかる。
公式 Web サイトにアクセスしてドキュメントをもう一度読んでください。問題が見つかりました。 for
トラバースするとき、1 つの値が非常に重要です: key
key
の値が Number
の場合、配列が変更されるたびに、 dom
は再レンダリングされるため、アニメーションは毎回最後のアニメーションにのみ影響します。
key
値が String
の場合、配列が変更されるたびに、dom
はデフォルトで「インプレース再利用」戦略を使用します
そのため、キーを String に変更したときに、結果がスムーズかつ順番に実行されるようにしたいと考えています。完璧な公式 Web サイトの例は、https://cn.vuejs.org/v2/guide / です。 list.html#key
ここで、key
の値は String
/Number
であることに注意してください。重複を避けるために、key
値は重複しないランダムな string
/number
にする必要があり、デフォルトの index は使用しないでください。
。
[終了]
推奨学習: JavaScript ビデオ チュートリアル
以上がVue の v-for についての簡単な説明、キー値はトランジション効果とアニメーション効果に影響します (詳細なコードの説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Vue フレームワークを使用してフロントエンド プロジェクトを開発する場合、デプロイ時に複数の環境をデプロイすることになりますが、開発環境、テスト環境、オンライン環境で呼び出されるインターフェイス ドメイン名が異なることがよくあります。どうすれば区別できるでしょうか?それは環境変数とパターンを使用することです。

Ace は、JavaScript で書かれた埋め込み可能なコード エディターです。 Sublime、Vim、TextMate などのネイティブ エディターの機能とパフォーマンスに匹敵します。あらゆる Web ページや JavaScript アプリケーションに簡単に埋め込むことができます。 Ace は Cloud9 IDE のメイン エディタとして維持されており、Mozilla Skywriter (Bespin) プロジェクトの後継です。

コンポーネント化とモジュール化の違い: モジュール化はコード ロジックの観点から分割され、コードの階層化された開発が容易になり、各機能モジュールの機能の一貫性が保証されます。コンポーネント化は UI インターフェイスの観点から計画され、フロントエンドのコンポーネント化により UI コンポーネントの再利用が容易になります。

Vue.js は、今日のフロントエンド開発において非常に人気のあるフレームワークとなっています。 Vue.js が進化し続けるにつれて、単体テストの重要性がますます高まっています。今日は、Vue.js 3 で単体テストを作成する方法を検討し、いくつかのベスト プラクティスと一般的な問題と解決策を提供します。

前書き: vue3 の開発では、reactive は応答性の高いデータを実装するメソッドを提供します。これは日常の開発で頻繁に使用される API です。この記事では、著者はその内部動作メカニズムを探ります。

Vue.js では、開発者は、JSX 構文とテンプレート構文という 2 つの異なる構文を使用してユーザー インターフェイスを作成できます。どちらの構文にもそれぞれ長所と短所があるので、それらの違い、長所と短所について説明します。

Vue3 動的コンポーネントで例外を処理するにはどうすればよいですか?次の記事では、Vue3 の動的コンポーネントの例外処理方法について説明します。

Vue3 のリリース以来、単語合成 API は Vue を書く学生の視野に入ってきました。合成 API が以前のオプション API よりもどれほど優れているかは誰もが聞いたことがあると思います。そして、@ のリリースにより、 vue/composition-api プラグイン、Vue2 学生もバスに乗れます. 次に、主に Response ref と Reactive を使用して、このプラグインがどのようにこれを実現しているかを詳細に分析します。
