2017-07-26 28 views
0

我想在請求/url/confirm/時顯示模式。如何從winthin組件中訪問路由器

這是搞什麼名堂迄今所做的:

// footer component 
import Modal from '../Modal/Modal'; 

export default { 
    components: {Modal,}, 
    data() { 
     return { 
      showModal: false, 
     }; 
    }, 

    mounted() { 
     if (window.location.href.match('/confirm/')) { 
      this.showModal = true; 
     } 
    }, 
}; 


// my main js 
import MyFooter from './components/footer/MyFooter; 
import router from './router'; 

new Vue({ 
    el: '#app', 
    router, 

    components: {MyFooter, /* other components too */} 
}); 

,我和這個https://router.vuejs.org/en/essentials/dynamic-matching.html#reacting-to-params-changes組合涵蓋所有用例?

這個工作,但似乎並不是一種做事的方式,特別是我在兩個不同的文件中做同樣的事情。

如何檢測/confirm/路線,其名稱爲confirm,以便在我的組件頁腳中顯示模態?

回答

1

使用the route object(可內部組件this.$route):

if (this.$route.name == 'confirm') { 
    this.showModal = true; 
} 
+0

THX但如果我刷新頁面'/確認/',otherwhise我需要看' '$路線' 這隻能(到,從)「,在一個地方沒有辦法做到這一點嗎? – smarber

+0

只需讓'showModal'成爲一個計算屬性。 'showModal(){return this. $ route.name =='confirm'}' – thanksd

相關問題