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 trang web hiển thị tên và tuổi của người dùng bằng VueJS 2

Trong bài viết này, mình sẽ tìm hiểu một ví dụ cụ thể về cách Vue.js giúp chúng ta liên kết dữ liệu từ một Vue instance vào các phần tử HTML. Mình sẽ tạo ra một trang web đơn giản để hiển thị thông tin về tên và tuổi của người dùng, một bước khởi đầu trong việc làm quen với khả năng binding mạnh mẽ của Vue.js.

Mình sẽ bắt đầu với việc tạo cấu trúc cơ bản của trang web, kết nối với Vue.js và thực hiện các bước cơ bản để liên kết dữ liệu từ Vue instance vào các phần tử HTML.

Hãy cùng nhau tìm hiểu cách Vue.js giúp mình tạo ra ứng dụng web tương tác và linh hoạt thông qua việc binding dữ liệu!

File HTML (index.html):

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Binding dữ liệu cơ bản với Vue.js</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
  </head>
  <body>
    <div id="app">
      <h1>Thông tin người dùng</h1>
      <div>
        <label for="name">Tên:</label>
        <input type="text" id="name" v-model="userData.userName" />
      </div>
      <div>
        <label for="age">Tuổi:</label>
        <input type="number" id="age" v-model.number="userData.userAge" />
      </div>
      <div>
        <p>Tên: {{ userData.userName }}</p>
        <p>Tuổi: {{ userData.userAge }}</p>
      </div>
    </div>

    <script src="app.js"></script>
  </body>
</html>

File HTML là nơi mà ứng dụng Vue.js của chúng ta được chạy. Trong ví dụ này, mình có:

  • <script> import Vue.js: Import thư viện Vue.js từ CDN để sử dụng trong ứng dụng của bạn.
  • <div id="app">: Phần tử DOM này sẽ được Vue instance binding vào để hiển thị nội dung của ứng dụng.

File JavaScript (App.vue):

<template>
  <div>
    <h1>Thông tin người dùng</h1>
    <div>
      <label for="name">Tên:</label>
      <input type="text" id="name" v-model="userData.userName" />
    </div>
    <div>
      <label for="age">Tuổi:</label>
      <input type="number" id="age" v-model.number="userData.userAge" />
    </div>
    <div>
      <p>Tên: {{ userData.userName }}</p>
      <p>Tuổi: {{ userData.userAge }}</p>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      userData: {
        userName: '', // Dữ liệu tên người dùng
        userAge: null, // Dữ liệu tuổi người dùng
      },
    };
  },
};
</script>

<style>
/* CSS styles for your component */
</style>

File này chứa một Vue component đơn giản:

  • <template>: Đây là phần chứa template của component. Trong trường hợp này, template hiển thị một form đơn giản với trường nhập liệu cho tên và tuổi người dùng.
  • <script>: Phần này chứa logic JavaScript của component. Trong ví dụ này, component chỉ đơn giản là có một object userData trong data chứa thông tin về tên và tuổi người dùng.
  • <style>: Phần này chứa CSS styles cho component. Trong ví dụ này, chúng ta không có styles, nhưng bạn có thể thêm styles tùy ý cho component của mình.

File JavaScript (main.js):

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

Vue.config.productionTip = false;

new Vue({
  el: '#app',
  render: h => h(App),
  data: {
    userData: {
      userName: '', // Dữ liệu tên người dùng
      userAge: null, // Dữ liệu tuổi người dùng
    },
  },
});

File này là nơi mà chúng ta khởi tạo Vue instance và kết nối nó với phần tử DOM đã được định nghĩa trong file HTML.

  • import Vue from 'vue';: Import Vue.js vào dự án của bạn.

Kết quả:

z5041970498077 00f866f5971485dc98df0acb5c7bce3b jpg

Qua cách tổ chức này, mình chia ứng dụng thành các thành phần riêng biệt: một file HTML để hiển thị, một file Vue component để định nghĩa giao diện và logic, và một file JavaScript để khởi tạo và kết nối các phần này lại với nhau. Điều này giúp mã nguồn của bạn trở nên dễ bảo trì, mở rộng và tái sử dụng hơ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: Components trong VueJS 2

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