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

Xử lý sự kiện Custom trong VueJs 2

Trong bài tập này, mình sẽ tìm hiểu một khía cạnh quan trọng của xử lý sự kiện trong VueJS 2 - đó là sự kiện custom. Sự kiện custom giúp mình tạo ra các giao tiếp linh hoạt giữa các thành phần của ứng dụng, mở ra nhiều cơ hội sáng tạo.

Xử lý sự kiện Custom trong VueJS 2

Yêu cầu

Mình sẽ tạo một sự kiện custom và xử lý nó trong VueJS. Bài tập này sẽ giúp bạn hiểu cách sử dụng $emit để kích hoạt sự kiện và $on để bắt và xử lý nó.

Mình sẽ định nghĩa một sự kiện custom có tên là ten-sukien và kích hoạt nó khi người dùng click vào một button. Sau đó, mình sẽ bắt và xử lý sự kiện này để cập nhật giao diện người dùng.

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Xử Lý Sự Kiện Custom - VueJS 2</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
    <style>
      body {
        font-family: "Arial", sans-serif;
        background-color: #f8f8f8;
        margin: 0;
      }

      .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100vh;
      }

      .custom-button {
        padding: 10px 20px;
        font-size: 16px;
        background-color: #3498db;
        color: #fff;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        transition: background-color 0.3s;
      }

      .custom-button:hover {
        background-color: #2980b9;
      }

      .event-message {
        margin-top: 20px;
        font-size: 18px;
        color: #333;
      }
    </style>
  </head>
  <body>
    <div id="app" class="container">
      <button @click="triggerCustomEvent" class="custom-button">
        Kích hoạt Sự kiện Custom
      </button>
      <p v-if="customEventMessage" class="event-message">
        {{ customEventMessage }}
      </p>
    </div>
    <script src="main.js"></script>
  </body>
</html>

main.js

new Vue({
  el: '#app',
  data: {
    customEventMessage: ''
  },
  methods: {
    triggerCustomEvent() {
      // Kích hoạt sự kiện custom và truyền thông điệp
      this.$emit('ten-sukien', 'Sự kiện custom đã được kích hoạt!');
    }
  },
  mounted() {
    // Bắt sự kiện custom và xử lý trong Vue instance
    this.$on('ten-sukien', (message) => {
      this.customEventMessage = message;
    });
  }
});

Trong đoạn mã này:

  • Mình đã sử dụng this.$emit để định nghĩa và kích hoạt một sự kiện custom có tên là ten-sukien. Chúng ta truyền một thông điệp với sự kiện.
  • Sử dụng directive @click để gọi phương thức triggerCustomEvent khi button được click.
  • Trong phương thức triggerCustomEvent, mình gọi this.$emit('ten-sukien', 'Sự kiện custom đã được kích hoạt!').
  • Trong phương thức mounted, mình sử dụng this.$on để bắt sự kiện custom ten-sukien và xử lý nó bằng cách cập nhật customEventMessage với thông điệp được truyền.

Bài tập này giúp bạn hiểu cách sử dụng sự kiện custom để tương tác giữa các thành phần VueJS khác nhau trong ứng dụng của bạn.

z5061871422379 d43d25636eac295b266950d824faecb7 jpg

Qua bài tập này, mình đã nắm vững cách sử dụng sự kiện custom trong VueJS 2 để tạo ra cách giao tiếp động giữa các thành phần khác nhau trong ứng dụng. Việc sử dụng $emit để kích hoạt sự kiện và $on để bắt và xử lý nó mở ra nhiều khả năng linh hoạt trong quá trình phát triển ứng dụng.

Hãy tiếp tục thực hành và áp dụng những khái niệm này vào dự án của bạn để tạo ra ứng dụng VueJS mạnh mẽ và tương tác!

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: Components trong VueJS 2

Bài tập VueJS 2: Components 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