javascript - VUE2.0 schaltet Detailseitendaten um
学习ing
学习ing 2017-07-05 10:47:46
0
1
995

Wenn Sie auf der Listenseite auf die Details klicken, können Sie die Details entsprechend der ID wechseln.
Listenseite: Die Klickfunktion fügt Folgendes hinzu: $router.push({ name: 'detail', params: { id: id }});
Die Details erhalten die übergebene ID this.$route.params.id,

Die rechte Spalte der Listenseite verfügt über eine Navigation (beliebte Artikel). Klicken Sie auf den beliebten Artikel, um den detaillierten Inhalt zu wechseln.
Das Problem ist: Die Adressleiste: xx/detail/id kann normal übergeben werden, der detaillierte Inhalt jedoch nicht geändert
Wenn sich der normale Hash ändert, sollten die entsprechenden Detaildaten geändert werden, Klicks auf beliebte Artikel, obwohl sich der Hash geändert hat, wird die Detailseite nur einmal geladen
Welcher Vue-Master kann den Grund erklären

Die Codes der drei spezifischen Seiten:
APP.vue

 

hotList.vm, hotList.vm und artList.vm haben die gleiche Codelogik

 

detail.vue

 

Routenplan:

import artListfrom '../components/artList.vue' import detail from '../components/detail.vue' const router = new VueRouter({ routes:[ { path:'/home', name: 'home', component: artList, }, { path: '/home/artList/detail/:id', name: 'detail', component: detail, } ] }); export default router;
学习ing
学习ing

Antworte allen (1)
漂亮男人

初步估计问题出在detail.vue组件中。你的detail.vue的listId项的赋值出现了问题,尝试这样试一下:

export default { data () { return { listId: '' } }, mounted () { // 1.组件初步加载时赋值一次 this.listId = this.$route.params.id; }, watch: { '$route': function () { //2. $route发生变化时再次赋值listId this.listId = this.$route.params.id; } } }

这样组件初次加载的时候可以保证拿到正确的路由参数,在路由发生变化的时候也可以正确的拿到路由参数。

    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!