一種方法是使用Vue 3中提供的watchEffect函數。此函數接收一個參數,該參數是一個函數。這個函數中包含了需要回應的變數。當這些變數發生變化時,watchEffect函數就會自動觸發該函數。例如:
import { watchEffect } from 'vue' watchEffect(() => { // 需要响应的变量 console.log('变量发生变化了') })
在上面的例子中,我們使用watchEffect函數觀察了一個變量,當這個變數改變時,控制台就會輸出「變數改變了」。
接下來,我們可以在watchEffect函數中發送Ajax請求:
import { watchEffect } from 'vue' import axios from 'axios' watchEffect(() => { // 需要响应的变量 axios.get('/api/data') .then(response => { // 处理响应的数据 }) })
在上面的例子中,當響應式的變數發生變化時,watchEffect函數中的程式碼就會自動執行,發送Ajax請求並處理回應的資料。
除了watchEffect函數外,Vue 3也提供了watch函數。 watch函數接收兩個參數,第一個參數是需要監聽的變量,第二個參數是變數改變時需要執行的回呼函數。例如:
import { watch } from 'vue' import axios from 'axios' watch( // 监听的变量 () => data.value, // 变量发生变化时执行的回调函数 (newValue, oldValue) => { axios.get('/api/data') .then(response => { // 处理响应的数据 }) } )
在上面的範例中,當data.value這個變數改變時,watch函數就會自動執行回呼函數,傳送Ajax請求並處理回應的資料。
以上是在Vue3中怎麼實現資料變化時自動發出請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!