Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Hướng dẫn Vue

Vue HOME Vue Giới thiệu Vue Chỉ thị Vue v-bind Vue v-if Vue v-show Vue v-for Vue Sự kiện Vue v-on Vue Methods Vue Event Modifier Vue Forms Vue v-model Vue CSS Binding Vue Tính toán Thuộc tính Vue Watchers Vue Mẫu

Mở rộng quy mô

Vue Tại sao, Cách thức và Thiết lập Trang SFC đầu tiên của Vue Thành phần Vue Đạo cụ Vue Vue v-for Thành phần Vue $emit() Vue Thuộc tính dự phòng Vue Kiểu dáng có phạm vi Vue Thành phần cục bộ Vue Slots Vue v-slot Vue Scoped Slots Vue Thành phần động Vue Teleport Vue Yêu cầu HTTP Mẫu Vue Tham chiếu Vòng đời Vue Móc nối Vue Cung cấp/Tiêm Vue Định tuyến Vue Đầu vào biểu mẫu Vue Vue Animations Vue Animations với v-for Vue Build Vue Composition API

Tham khảo Vue

Thuộc tính tích hợp của Vue Các thành phần tích hợp của Vue Các phần tử tích hợp Vue Ví dụ thành phần Vue Chỉ thị Vue Tùy chọn phiên bản Vue Móc vòng đời Vue

Vue Ví dụ

Ví dụ về Vue Bài tập Vue Vue Quiz Vue Server Chứng chỉ Vue

Người theo dõi Vue

Trình theo dõi là một phương thức theo dõi thuộc tính dữ liệu có cùng tên.

Trình theo dõi chạy mỗi khi giá trị thuộc tính dữ liệu thay đổi.

Sử dụng trình theo dõi nếu một giá trị thuộc tính dữ liệu nhất định yêu cầu một hành động.

Khái niệm người theo dõi

Watchers là tùy chọn cấu hình thứ tư trong phiên bản Vue mà chúng ta sẽ tìm hiểu. Ba tùy chọn cấu hình đầu tiên mà chúng ta đã xem xét là 'dữ liệu', 'phương thức' và 'được tính toán'.

Giống như những người theo dõi 'dữ liệu', 'phương thức' và 'được tính toán' cũng có một tên dành riêng trong phiên bản Vue: ' watch '.

Cú pháp

const app = Vue.createApp({
  data() {
    ...
  },
  watch : {
    ...
  },
  computed: {
    ...
  },
  methods: {
    ...
  }
})

Như đã đề cập ở vùng màu xanh lá cây ở trên cùng, người theo dõi sẽ giám sát thuộc tính dữ liệu có cùng tên.

Chúng tôi không bao giờ gọi một phương thức theo dõi. Nó chỉ được gọi tự động khi giá trị thuộc tính thay đổi.

Giá trị thuộc tính mới luôn có sẵn làm đối số đầu vào cho phương thức theo dõi và giá trị cũ cũng vậy.

Ví dụ

Phần tử <input type="range"> được sử dụng để thay đổi giá trị 'rangeVal'. Trình theo dõi được sử dụng để ngăn người dùng chọn các giá trị trong khoảng từ 20 đến 60 được coi là bất hợp pháp.

<input type="range" v-model="rangeVal">
<p>{{ rangeVal }}</p>
const app = Vue.createApp({
  data() {
    rangeVal: 70
  },
  watch: {
    rangeVal(val){
      if( val>20 && val<60) {
        if(val<40){
          this.rangeVal = 20;
        }
        else {
          this.rangeVal = 60;
        }
      }
    }
  }
})
Hãy tự mình thử »

Người theo dõi với các giá trị mới và cũ

Ngoài giá trị thuộc tính mới, giá trị thuộc tính trước đó cũng tự động có sẵn làm đối số đầu vào cho các phương thức của trình theo dõi.

Ví dụ

Chúng tôi thiết lập sự kiện nhấp chuột trên phần tử <div> để ghi lại vị trí x của con trỏ chuột 'xPos' bằng phương thức 'updatePos'. Trình theo dõi tính toán sự khác biệt về pixel giữa vị trí x mới và vị trí trước đó bằng cách sử dụng các đối số đầu vào cũ và mới cho phương thức của trình theo dõi.

<div v-on:click="updatePos"></div>
<p>{{ xDiff }}</p>
const app = Vue.createApp({
  data() {
    xPos: 0,
    xDiff: 0
  },
  watch: {
    xPos( newVal,oldVal ){
      this.xDiff = newVal-oldVal
    }
  },
  methods: {
    updatePos(evt) {
      this.xPos = evt.offsetX
    }
  }
})
Hãy tự mình thử »

Chúng ta cũng có thể sử dụng các giá trị mới và cũ để đưa ra phản hồi cho người dùng vào đúng thời điểm đầu vào chuyển từ không hợp lệ sang hợp lệ:

Ví dụ

Giá trị từ phần tử <input> được kết nối với người theo dõi. Nếu giá trị bao gồm '@' thì giá trị đó được coi là địa chỉ email hợp lệ. Người dùng nhận được văn bản phản hồi để thông báo xem đầu vào có hợp lệ, không hợp lệ hay nó chỉ hợp lệ với lần nhấn phím cuối cùng.

<input v-type="email" v-model="inpAddress">
<p v-bind:class="myClass">{{ feedbackText }}</p>
const app = Vue.createApp({
  data() {
    inpAddress: '',
    feedbackText: '',
    myClass: 'invalid'
  },
  watch: {
    inpAddress(newVal,oldVal) {
      if( !newVal.includes('@') ) {
        this.feedbackText = 'The e-mail address is NOT valid';
        this.myClass = 'invalid';
      }
      else if( !oldVal.includes('@') && newVal.includes('@') ) {
        this.feedbackText = 'Perfect! You fixed it!';
        this.myClass = 'valid';
      }
      else {
        this.feedbackText = 'The e-mail address is valid :)';
      }
    }
  }
})
Hãy tự mình thử »

Người theo dõi so với phương pháp

Trình theo dõi và phương thức đều được viết dưới dạng hàm, nhưng có nhiều điểm khác biệt:

  • Các phương thức được gọi từ HTML.
  • Các phương thức thường được gọi khi một sự kiện xảy ra.
  • Các phương thức tự động nhận đối tượng sự kiện làm đầu vào.
  • Chúng ta cũng có thể gửi các giá trị khác mà chúng ta chọn làm đầu vào cho một phương thức .
  • Người theo dõi chỉ được gọi khi giá trị thuộc tính dữ liệu đã xem thay đổi và điều này xảy ra tự động.
  • Người theo dõi tự động nhận giá trị mới và cũ từ thuộc tính được theo dõi.
  • Chúng tôi không thể chọn gửi bất kỳ giá trị nào khác với người theo dõi làm đầu vào.

Người theo dõi so với Thuộc tính được tính toán

Trình theo dõi và thuộc tính được tính toán đều được viết dưới dạng hàm.

Trình theo dõi và thuộc tính được tính toán đều được gọi tự động khi phần phụ thuộc thay đổi và không bao giờ được gọi từ HTML.

Dưới đây là một số khác biệt giữa thuộc tính được tính toán và trình theo dõi:

  • Người theo dõi chỉ phụ thuộc vào một thuộc tính, thuộc tính mà họ được thiết lập để xem.
  • Các thuộc tính được tính toán có thể phụ thuộc vào nhiều thuộc tính.
  • Thuộc tính được tính toán được sử dụng giống như thuộc tính dữ liệu, ngoại trừ chúng là thuộc tính động.
  • Người theo dõi không được tham chiếu từ HTML.

Bài tập Vue

Kiểm tra bản thân bằng các bài tập

Bài tập:

Người theo dõi trong bài tập này phải tăng thuộc tính dữ liệu 'count' lên một đơn vị mỗi khi thuộc tính dữ liệu 'rangeVal' thay đổi.

Người quan sát phải được gọi là gì?

<kịch bản>
  const ứng dụng = Vue.createApp({
    dữ liệu() {
      trở lại {
      	phạm viVal: 70,
        đếm: 0
      }
    },
    đồng hồ: {
      () {
        cái này.count++
      }
    }
  })
 app.mount('#app')
</script>

Bắt đầu bài tập



×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .