Vue提供了一種獲取當前URL中hash值的方法,即通過$router屬性的currentRoute屬性訪問路由對象的hash值。
let hash = this.$router.currentRoute.hash;
這個hash值是URL中#后面的字符串,例如,對于URL“http://example.com/#/about”,hash值為“/about”。通過獲取當前hash值,我們可以在Vue組件中根據(jù)不同的hash值來展示不同的內容或者進行不同的操作。下面是一個例子:
export default { data() { return { currentHash: '' } }, created() { this.currentHash = this.$router.currentRoute.hash; window.addEventListener('hashchange', this.updateHash); }, beforeDestroy() { window.removeEventListener('hashchange', this.updateHash); }, methods: { updateHash() { this.currentHash = this.$router.currentRoute.hash; } } }
在這個例子中,我們創(chuàng)建了一個Vue實例,通過$router對象獲取當前路由的hash值,并將其賦值給data屬性的currentHash。同時,我們?yōu)閣indow對象的hashchange事件添加了事件監(jiān)聽函數(shù)updateHash,當URL中的hash值變化時,這個函數(shù)會重新獲取當前hash值并將其更新到currentHash中。