使用JavaScript的Date對象,可以獲取當(dāng)前時間,然后我們可以通過Vue的數(shù)據(jù)綁定功能,在頁面上顯示時間。
new Vue({ el: '#app', data: { now: null }, mounted() { setInterval(() =>{ const date = new Date(); const time = date.toLocaleString(); this.now = time; }, 1000); } })
上面的代碼中,我們定義了一個Vue實例,在data中添加了一個屬性now,用于存儲當(dāng)前時間。在mounted鉤子函數(shù)中,我們使用setInterval定時器,在每秒鐘更新一次當(dāng)前時間,并將其賦值給now屬性。最后,在模板中使用{{}}插值語法,顯示當(dāng)前時間。
一般情況下,實時顯示時間需要到秒級別,如果每秒鐘都更新一次,也許對性能會有一些影響,因此我們可以通過自定義指令來解決這個問題。
Vue.directive('time', { bind: function (el, binding) { setInterval(() =>{ const date = new Date(); const time = date.toLocaleString(); el.innerHTML = time; }, binding.value * 1000); } }) new Vue({ el: '#app', })
上面的代碼中,我們定義了一個自定義指令time,在bind鉤子函數(shù)中實現(xiàn)了更新時間的邏輯。在模板中,我們可以使用v-time指令來實現(xiàn)實時更新時間,并通過傳入一個數(shù)字來指定時間的更新頻率,單位為秒。
上面的代碼中,我們在頁面中添加了三個p標(biāo)簽,分別使用v-time指令,并傳入不同的頻率,實現(xiàn)了漸進加強的實時顯示時間效果。
總之,Vue可以很方便地實現(xiàn)頁面中的實時顯示時間功能,我們可以使用數(shù)據(jù)綁定、自定義指令等技術(shù)手段來實現(xiàn)該功能,并根據(jù)實際需求選擇不同的方案。
上一篇c 接口 返回json
下一篇vue中方括號