Vue.js 是一個流行的前端框架,它使用組件化來提升開發效率。在 Vue.js 中,我們通常使用 AJAX 請求獲取數據,然后在組件中使用這些數據來渲染視圖。而在某些情況下,我們需要定時輪詢服務器來獲取數據,這時我們可以使用 JavaScript 的 setInterval 函數來實現。
下面是一個使用 Vue.js,ajax 和 setInterval 實現輪詢的示例:
<template> <div> <ul> <li v-for="item in items">{{ item.title }}</li> </ul> </div> </template> <script> export default { data() { return { items: [] }; }, methods: { fetchData() { const url = 'https://api.example.com/items'; axios.get(url) .then(response =>{ this.items = response.data; }) .catch(error =>{ console.error(error); }); } }, mounted() { this.fetchData(); setInterval(() =>{ this.fetchData(); }, 5000); // 每 5 秒鐘輪詢一次 } }; </script>
在這個示例中,我們使用了 Axios 庫來發送 AJAX 請求。在 mounted 鉤子函數中,我們先調用 fetchData 方法獲取數據,然后使用 setInterval 函數來定時輪詢服務器。在 setInterval 函數中,我們通過調用 fetchData 方法來重新獲取數據并更新組件中的數據。這樣,在每個五秒鐘的周期內,我們就可以從服務器獲取一次最新數據,然后在組件中渲染出來。