Đăng nhập

BÀI 3: DATA BINDING TRONG VUE.JS

Mục tiêu:

  • Hiển thị nội dung từ data() ra HTML bằng {{ }}
  • Gắn thuộc tính HTML động bằng v-bind
  • Tạo input nhập dữ liệu và liên kết 2 chiều bằng v-model

Kết quả học được:

Tính năngVue DirectiveVí dụ
Hiển thị nội dung{{ variable }}{{ message }}
Gắn thuộc tínhv-bind:href:href="link"
Liên kết 2 chiềuv-model<input v-model="name">

Giao diện học (Code + Output)

<!DOCTYPE html>
<html lang="vi">
<head>
  <meta charset="UTF-8">
  <title>Vue Data Binding</title>
  <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
  <style>
    body {
      font-family: Arial;
      display: flex;
      gap: 30px;
      padding: 20px;
    }
    .code {
      width: 50%;
    }
    .output {
      width: 50%;
      border-left: 2px solid #ccc;
      padding-left: 20px;
    }
    input {
      padding: 5px;
      margin-top: 5px;
    }
  </style>
</head>
<body>

  <div class="code">
    <h2>Mã nguồn Vue:</h2>
    <pre><code>&lt;div id="app"&gt;
  &lt;p&gt;Nội dung từ data: {{ message }}&lt;/p&gt;

  &lt;a v-bind:href="link"&gt;Truy cập Google&lt;/a&gt;

  &lt;p&gt;Nhập tên của bạn:&lt;/p&gt;
  &lt;input v-model="name"&gt;
  &lt;p&gt;Xin chào, {{ name }}!&lt;/p&gt;
&lt;/div&gt;

&lt;script&gt;
  const { createApp } = Vue;
  createApp({
    data() {
      return {
        message: 'Chào mừng đến với Vue!',
        link: 'https://google.com',
        name: ''
      }
    }
  }).mount('#app')
&lt;/script&gt;</code></pre>
  </div>

  <div class="output">
    <h2>Kết quả hiển thị:</h2>
    <div id="app">
      <p>Nội dung từ data: {{ message }}</p>

      <a v-bind:href="link" target="_blank">Truy cập Google</a>

      <p>Nhập tên của bạn:</p>
      <input v-model="name">
      <p>Xin chào, {{ name }}!</p>
    </div>
  </div>

  <script>
    const { createApp } = Vue;
    createApp({
      data() {
        return {
          message: 'Chào mừng đến với Vue!',
          link: 'https://google.com',
          name: ''
        }
      }
    }).mount('#app')
  </script>

</body>
</html>

Giải thích:

Câu lệnhTác dụng
{{ message }}Hiển thị nội dung từ biến trong data()
v-bind:href="link" (viết tắt: :href="link")Gắn giá trị biến vào thuộc tính HTML
v-model="name"Kết nối input 2 chiều (nhập đổi → Vue đổi, Vue đổi → input đổi)

Bài tập thực hành:

  1. Thay đổi link thành "https://vuejs.org" → bấm vào link kiểm tra.
  2. Gắn thêm 1 hình ảnh: <img v-bind:src="imgUrl"> và thêm imgUrl vào data().
  3. Tạo thêm input v-model="email" và hiển thị ra {{ email }} bên dưới.

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.