GIỚI THIỆU
CĂN BẢN
NÂNG CAO
VUEJS 2X CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Tạo một thành phần Vue và sử dụng Lifecycle Hooks để quản lý vòng đời của nó bằng VueJs 2.

Trong bài tập này, mình sẽ tìm hiểu cách áp dụng animation transition vào các thành phần VueJS 2. Sử dụng directives v-if hoặc v-show kết hợp với CSS, mình có thể tạo ra các hiệu ứng khi một thành phần xuất hiện hoặc biến mất.

Hãy cùng nhau tạo một thành phần Vue và thêm hiệu ứng transition hoặc animation để làm cho ứng dụng của bạn trở nên sống động hơn.

AnimationTransitionComponent.vue

<template>
  <div>
    <button @click="toggleAnimation">Toggle Animation</button>
    <transition name="fade">
      <div v-if="showComponent" class="animated-component">
        <h1>Animated Component</h1>
      </div>
    </transition>
  </div>
</template>

<script>
export default {
  data() {
    return {
      showComponent: false,
    };
  },
  methods: {
    toggleAnimation() {
      this.showComponent = !this.showComponent;
    },
  },
};
</script>

<style>
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.5s ease-in-out;
}
.fade-enter,
.fade-leave-to {
  opacity: 0;
}
.animated-component {
  background-color: #f0f0f0;
  padding: 20px;
  margin-top: 20px;
  border-radius: 5px; /* Bo tròn viền */
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Hiển thị shadow nhẹ */
}
button {
  margin-bottom: 10px;
  padding: 8px 12px;
  border: none;
  background-color: #3498db;
  color: white;
  border-radius: 3px;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out; /* Hiệu ứng khi hover */
}
button:hover {
  background-color: #2980b9;
}
</style>

main.js

import Vue from 'vue';
import App from './App.vue';

new Vue({
  render: (h) => h(App),
}).$mount('#app');

index.html

<!DOCTYPE html>
<html>
<head>
  <title>Vue Animation/Transition</title>
  <style>
    /* Add global styles if needed */
  </style>
</head>
<body>
  <div id="app"></div>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script src="main.js"></script>
</body>
</html>

Trong AnimationTransitionComponent.vue, mình sử dụng <transition> để bao bọc một phần tử có thể xuất hiện hoặc biến mất. Khi showComponent được thay đổi, phần tử này sẽ hiển thị hoặc ẩn đi với hiệu ứng fade (có thể thay đổi tên theo ý muốn).

Trong phần <style>, các lớp fade-enter-active, fade-leave-active, fade-enter, và fade-leave-to định nghĩa hiệu ứng transition/animation.

Giải thích:

  • fade-enter-active fade-leave-active: Định nghĩa transition (hoặc animation) với transition trong CSS.
  • fade-enterfade-leave-to: Định nghĩa trạng thái xuất hiện (enter) và biến mất (leave) của phần tử.
  • .animated-component: Một số styles cho phần tử chứa animation.

Chạy file index.html và bạn sẽ thấy thành phần được hiển thị và ẩn đi với hiệu ứng transition/animation.

z5054442972603 be03843ba438c58ef569047a4d417e60 jpg

Hy vọng bài viết này đã giúp bạn hiểu cách sử dụng animation transition trong VueJS 2 để tạo ra trải nghiệm người dùng thú vị hơn. Bằng cách sử dụng các directives v-if hoặc v-show kết hợp với CSS, bạn có thể thêm các hiệu ứng mượt mà và thú vị vào các thành phần Vue của mình. Đừng ngần ngại thử nghiệm và tùy chỉnh để tạo ra các hiệu ứng phong phú và độc đáo hơn cho ứng dụng của bạn!

test php

Bài giải

-------------------- ######## --------------------

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Bài tập VueJS 2: Sử dụng Axios hoặc Fetch API trong VueJS 2

Bài tập VueJS 2: Sử dụng Axios hoặc Fetch API trong VueJS 2

Bài tập VueJS 2: Two-way binding trong VueJS 2

Bài tập VueJS 2: Two-way binding trong VueJS 2

Bài tập VueJS 2: Xử lý sự kiện trong VueJS 2

Bài tập VueJS 2: Xử lý sự kiện trong VueJS 2

Bài tập VueJS 2: Binding dữ liệu trong VueJS 2

Bài tập VueJS 2: Binding dữ liệu trong VueJS 2

Sử dụng directives (v-bind, v-model) để hiển thị và cập nhật dữ liệu bằng VueJS 2

Sử dụng directives (v-bind, v-model) để hiển thị và cập nhật dữ liệu bằng VueJS 2

Tạo nút và xử lý sự kiện khi nút được nhấn trong VueJS 2

Tạo nút và xử lý sự kiện khi nút được nhấn trong VueJS 2

VueJS 2 Components: Tạo và quản lý ToDo List đơn giản

VueJS 2 Components: Tạo và quản lý ToDo List đơn giản

Các quy tắc trong VueJS 2

Các quy tắc trong VueJS 2

Tạo component và binding data trong VueJS 2

Tạo component và binding data trong VueJS 2

Tìm hiểu Scoped CSS trong VueJS 2

Tìm hiểu Scoped CSS trong VueJS 2

Sử dụng forceUpdate trong VueJS 2

Sử dụng forceUpdate trong VueJS 2

Sử dụng v-for trong VueJS 2

Sử dụng v-for trong VueJS 2

10 best practices trong VueJS 2

10 best practices trong VueJS 2

Các tạo Custom Directives trong VueJS 2

Các tạo Custom Directives trong VueJS 2

Sử dụng V-for và V-if trong VueJs 2

Sử dụng V-for và V-if trong VueJs 2

Sử dụng methods trong VueJS 2

Sử dụng methods trong VueJS 2

Khác nhau giữa slot và scoped slots trong VueJS 2

Khác nhau giữa slot và scoped slots trong VueJS 2

Tìm hiểu Slots trong VueJS 2

Tìm hiểu Slots trong VueJS 2

Xử lý Custom Events trong VueJS 2

Xử lý Custom Events trong VueJS 2

Ref và Reactive trong VueJS 2

Ref và Reactive trong VueJS 2

Top