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

Phương thức Vue

Các phương thức Vue là các hàm thuộc về thể hiện Vue trong thuộc tính 'methods'.

Các phương thức Vue rất tuyệt khi sử dụng với xử lý sự kiện ( v-on ) để thực hiện những việc phức tạp hơn.

Các phương thức Vue cũng có thể được sử dụng để làm những việc khác ngoài việc xử lý sự kiện.

Thuộc tính 'phương thức' của Vue

Chúng ta đã sử dụng một thuộc tính Vue trong hướng dẫn này, thuộc tính 'data', nơi chúng ta có thể lưu trữ các giá trị.

Có một thuộc tính Vue khác gọi là 'phương thức' nơi chúng ta có thể lưu trữ các hàm thuộc về phiên bản Vue. Một phương thức có thể được lưu trữ trong phiên bản Vue như thế này:

const app = Vue.createApp({
  data() {
    return {
      text: ''
    }
  },
  methods: {
    writeText() {
      this.text = 'Hello Wrold!'
    }
  }
})

Mẹo: Chúng ta cần viết this. làm tiền tố để tham chiếu đến thuộc tính dữ liệu từ bên trong một phương thức.

Để gọi phương thức 'writeText' khi chúng ta nhấp vào phần tử <div> , chúng ta có thể viết mã bên dưới:

<div v-on:click="writeText"></div>

Ví dụ trông như thế này:

Ví dụ

Lệnh v-on được sử dụng trên phần tử <div> để nghe sự kiện 'click'. Khi sự kiện 'click' xảy ra, phương thức 'writeText' được gọi và văn bản được thay đổi.

<div id="app">
  <p>Click on the box below:</p>
  <div v-on:click="writeText">
    {{ text }}
  </div>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        text: ''
      }
    },
    methods: {
      writeText() {
        this.text = 'Hello World!'
      }
    }
  })
  app.mount('#app')
</script>
Hãy tự mình thử »

Gọi một phương thức với đối tượng sự kiện

Khi một sự kiện xảy ra khiến một phương thức được gọi, đối tượng sự kiện sẽ được truyền cùng với phương thức đó theo mặc định. Điều này rất thuận tiện vì đối tượng sự kiện chứa nhiều dữ liệu hữu ích, ví dụ như đối tượng mục tiêu, loại sự kiện hoặc vị trí chuột khi xảy ra sự kiện 'click' hoặc 'mousemove'.

Ví dụ

Lệnh v-on được sử dụng trên phần tử <div> để lắng nghe sự kiện 'mousemove'. Khi sự kiện 'mousemove' xảy ra, phương thức 'mousePos' được gọi và đối tượng sự kiện được gửi cùng với phương thức này theo mặc định để chúng ta có thể lấy vị trí con trỏ chuột.

Chúng ta phải sử dụng cái this. tiền tố để tham chiếu đến "xPos" bên trong thuộc tính dữ liệu phiên bản Vue từ phương thức.

<div id="app">
  <p>Move the mouse pointer over the box below:</p>
  <div v-on:mousemove="mousePos"></div>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        xPos: 0,
        yPos: 0
      }
    },
    methods: {
      mousePos(event) {
        this.xPos = event.offsetX
        this.yPos = event.offsetY
      }
    }
  })
  app.mount('#app')
</script>
Hãy tự mình thử »

Nếu mở rộng ví dụ trên chỉ bằng một dòng, chúng ta cũng có thể thay đổi màu nền dựa trên vị trí con trỏ chuột theo hướng x. Điều duy nhất chúng ta cần thêm là v-bind để thay đổi màu nền trong thuộc tính style:

Ví dụ

Sự khác biệt ở đây so với ví dụ trên là màu nền được liên kết với 'xPos' bằng v-bind sao cho giá trị hsl 'hue' được đặt bằng 'xPos'.

<div
  v-on:mousemove="mousePos"
  v-bind:style="{backgroundColor:'hsl('+xPos+',80%,80%)'}">
</div>
Hãy tự mình thử »

Trong ví dụ bên dưới, đối tượng sự kiện mang một văn bản từ thẻ <textarea> để làm cho nó trông giống như chúng ta đang viết bên trong một cuốn sổ tay.

Ví dụ

Lệnh v-on được sử dụng trên thẻ <textarea> để lắng nghe sự kiện 'input' xảy ra bất cứ khi nào có sự thay đổi trong văn bản bên trong phần tử textarea.

Khi sự kiện 'input' xảy ra, phương thức 'writeText' được gọi và đối tượng sự kiện được gửi cùng với phương thức này theo mặc định để chúng ta có thể lấy văn bản từ thẻ <textarea> . Thuộc tính 'text' trong phiên bản Vue được cập nhật bằng phương thức 'writeText'. Phần tử span được thiết lập để hiển thị giá trị 'văn bản' với cú pháp dấu ngoặc nhọn đôi và giá trị này được Vue cập nhật tự động.

<div id="app">
  <textarea v-on:input="writeText" placeholder="Start writing.."></textarea>
  <span>{{ text }}</span>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        text: ''
      }
    },
    methods: {
      writeText(event) {
        this.text = event.target.value
      }
    }
  })
  app.mount('#app')
</script>
Hãy tự mình thử »

Truyền đối số

Đôi khi chúng ta muốn truyền một đối số bằng phương thức khi một sự kiện xảy ra.

Giả sử bạn làm công việc kiểm lâm và bạn muốn đếm số lần nhìn thấy nai sừng tấm. Đôi khi người ta nhìn thấy một hoặc hai con nai sừng tấm, đôi khi có thể nhìn thấy hơn 10 con nai sừng tấm trong một ngày. Chúng tôi thêm các nút để đếm số lần nhìn thấy '+1' và '+5' và nút '-1' trong trường hợp chúng tôi đã đếm quá nhiều.

Trong trường hợp này, chúng ta có thể sử dụng cùng một phương thức cho cả ba nút và chỉ cần gọi phương thức đó với một số khác làm đối số từ các nút khác nhau. Đây là cách chúng ta có thể gọi một phương thức có đối số:

<button v-on:click="addMoose(5)">+5</button>

Và đây là cách phương thức 'addMoose' trông như thế nào:

methods: {
  addMoose(number) {
    this.count = this.count + number
  }
}

Hãy xem cách truyền đối số bằng một phương thức hoạt động như thế nào trong một ví dụ đầy đủ.

Ví dụ

<div id="app">
  <img src="img_moose.jpg">
  <p>{{ "Moose count: " + count }}</p>
  <button v-on:click="addMoose(+1)">+1</button>
  <button v-on:click="addMoose(+5)">+5</button>
  <button v-on:click="addMoose(-1)">-1</button>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        count: 0
      }
    },
    methods: {
      addMoose(number) {
        this.count+=number
      }
    }
  })
 app.mount('#app')
</script>
Hãy tự mình thử »

Truyền cả Đối số và Đối tượng Sự kiện

Nếu chúng ta muốn truyền cả đối tượng sự kiện và đối số khác, thì có một tên dành riêng ' $event ' chúng ta có thể sử dụng khi phương thức được gọi, như sau:

<button v-on:click="addAnimal($event, 5)">+5</button>

Và đây là cách phương thức trong phiên bản Vue trông như thế nào:

methods: {
  addAnimal(e, number) {
    if(e.target.parentElement.id==="tigers"){
      this.tigers = this.tigers + number
    }
  }
}

Bây giờ chúng ta hãy xem một ví dụ để biết cách truyền cả đối tượng sự kiện và đối số khác bằng một phương thức.

Ví dụ

Trong ví dụ này, phương thức của chúng tôi nhận cả đối tượng sự kiện và văn bản.

<div id="app">
  <img
    src="img_tiger.jpg"
    id="tiger"
    v-on:click="myMethod($event,'Hello')">
  <p>"{{ msgAndId }}"</p>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        msgAndId: ''
      }
    },
    methods: {
      myMethod(e,msg) {
        this.msgAndId = msg + ', '
        this.msgAndId += e.target.id
      }
    }
  })
 app.mount('#app')
</script>
Hãy tự mình thử »

Ví dụ lớn hơn

Trong ví dụ này, chúng ta thấy rằng chỉ có thể sử dụng một phương pháp để đếm ba con vật khác nhau với ba số gia khác nhau cho mỗi con vật. Chúng tôi đạt được điều này bằng cách chuyển cả đối tượng sự kiện và số gia tăng:

Ví dụ

Cả kích thước tăng dần và đối tượng sự kiện đều được truyền dưới dạng đối số với phương thức khi nhấp vào nút. Từ dành riêng ' $event ' được sử dụng để truyền đối tượng sự kiện với phương thức cho biết con vật nào cần đếm.

<div id="app">
  <div id="tigers">
    <img src="img_tiger.jpg">
    <button v-on:click="addAnimal($event,1)">+1</button>
    <button v-on:click="addAnimal($event,5)">+5</button>
    <button v-on:click="addAnimal($event,1)">-1</button>
  </div>
  <div id="moose">
    <img src="img_moose.jpg">
    <button v-on:click="addAnimal($event,1)">+1</button>
    <button v-on:click="addAnimal($event,5)">+5</button>
    <button v-on:click="addAnimal($event,1)">-1</button>
  </div>
  <div id="kangaroos">
    <img src="img_kangaroo.jpg">
    <button v-on:click="addAnimal($event,1)">+1</button>
    <button v-on:click="addAnimal($event,5)">+5</button>
    <button v-on:click="addAnimal($event,1)">-1</button>
  </div>
  <ul>
    <li>Tigers: {{ tigers }} </li>
    <li>Moose: {{ moose }} </li>
    <li>Kangaroos: {{ kangaroos }} </li>
  </ul>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        tigers: 0,
        moose: 0,
        kangaroos: 0
      }
    },
    methods: {
      addAnimal(e,number) {
        if(e.target.parentElement.id==="tigers") {
          this.tigers+=number
        }
        else if(e.target.parentElement.id==="moose") {
          this.moose+=number
        }
        else {
          this.kangaroos+=number
        }
      }
    }
  })
 app.mount('#app')
</script>
Hãy tự mình thử »

Bài tập Vue

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

Bài tập:

Viết mã còn thiếu để phương thức 'writeText' được gọi khi thẻ <div> được nhấp vào.

<div id="ứng dụng">
  <p>Nhấp vào ô bên dưới:</p>
  <div = >
    {{ chữ }}
  </div>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<kịch bản>
  const ứng dụng = Vue.createApp({
    dữ liệu() {
      trở lại {
        chữ: ''
      }
    },
    : {
      writeText() {
        cái này. = 'Xin chào thế giới!'
      }
    }
  })
  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 .