国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - VUE2.0 切換詳情頁數據

瀏覽:67日期:2023-03-23 11:27:19

問題描述

列表頁點擊到詳情可以正常根據id切換詳情內容列表頁:click函數添加 this.$router.push({ name: ’detail’, params: { id: id }});詳情接收傳遞過來的id this.$route.params.id,

列表頁右欄做了個導航(熱門文章),點擊熱門文章切換詳情內容問題是:地址欄:xx/detail/id可以正常傳遞,詳情內容沒變化正常hash有變化就應該更改對應的詳情數據,熱門文章點擊,雖然hash變了,詳情頁面只加載了一次哪位vue大神可以給講下原因啊

具體三個頁面的代碼:APP.vue

<template> <p id='app'> <router-view></router-view> </p> <aside> <hotList></hotList> </aside></template><script type='text/ecmascript-6'> import Vue from ’vue’ import artList from ’./components/artList.vue’ import hotList from ’./components/hotList.vue’ export default { name:’app’, components: { hotList, artList } }</script>

hotList.vm ,,hotList.vm和artList.vm的代碼邏輯一樣的

<template> <p class='hotlist'> <ul> <li v-for='(item,index) in items' @click='goDetail(item.id)'> {{ item.title }} </li> </ul> </p></template><script type='text/ecmascript-6'> export default { name:’hotlist’, data () { return {items: null, } }, mounted: function(){ this.$http.get(’/api/list’).then( function (response) {this.items = response.data }, function(error) {console.log(error) }) }, methods:{ goDetail(id){this.$router.push({ name: ’detail’, params: { id: id }}); }, } }</script>

detail.vue

<template> <p class='detail'> <h2>{{detail.title}}</h2> <p>{{ detail.description }}</p> </p></template><script type='text/ecmascript-6'> export default { name:’detail’, data () { return {listId: this.$route.params.id,detail: {}, } }, mounted: function(){ this.getDetail(); }, methods: { getDetail(){this.$http.get(’/api/list/’ + this.listId) .then(function (res) { this.detail = res.data.id ? res.data : JSON.parse(res.request.response); }.bind(this)) .catch(function (error) { console.log(error); }); }, } }</script>

路由:

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;

問題解答

回答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;} }}

這樣組件初次加載的時候可以保證拿到正確的路由參數,在路由發生變化的時候也可以正確的拿到路由參數。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 欧美成人一级视频 | 午夜三级在线观看 | 亚洲成人国产精品 | 亚洲最大网站在线 | 亚洲系列第一页 | 国产精品免费一区二区三区 | 免费va国产高清不卡大片 | 99久久亚洲 | 精品一区二区三区中文 | 亚洲国产精品一区二区三区久久 | 成人国产精品一级毛片了 | 久久视频精品线视频在线网站 | 亚洲欧洲国产成人综合一本 | 欧美最刺激好看的一级毛片 | 亚洲欧美日本国产 | 欧美一级看片免费观看视频在线 | 亚洲免费在线播放 | 久久久日本久久久久123 | 欧美精品一区二区三区免费播放 | 99精品在线看 | 黄色天堂在线 | 成人国产精品一区二区网站 | a中文字幕1区 | 国产乱肥老妇精品视频 | 国产高清在线看 | 狠狠色噜狠狠狠狠色综合久 | 视频一区在线播放 | 福利社在线 | 欧美色欧美亚洲高清在线视频 | 久久久久琪琪去精品色村长 | 亚洲免费成人 | 亚洲精品人成网线在线 | 亚洲精品m在线观看 | 国产精品久久久久久吹潮 | 午夜伊人| 精品国产一区二区三区久久影院 | 日韩欧美一级a毛片欧美一级 | 免费看亚洲 | 成人性色生活片全黄 | 欧美日韩亚洲高清不卡一区二区三区 | 久久久99视频 |