有关老课程中设置exclude失效

来源:1-7 Vue项目详情页 - 动态获取详情页面数据

qq_我不是看不起_0

2020-06-11 16:29:21

App.vue

<template>

<div id="app" class="g-container">

<div class="g-view-container">

<keep-alive exclude="Product">

<router-view></router-view>

</keep-alive>

</div>

<div class="g-footer-container">

<c-tabbar></c-tabbar>

</div>

</div>

</template>

<script>

import CTabbar from 'components/tabbar';

export default {

name: 'App',

components: {

CTabbar

}

}

</script>

-------------------------------------

product/index.js

<template>

<transition name="product">

<div class="product">


<header class="g-header-container">

<product-header></product-header>

</header>


<me-scroll>

<product-slider></product-slider>

<product-content></product-content>

</me-scroll>


<product-footer></product-footer>

</div>

</transition>

</template>

<script>

import MeScroll from "base/scroll";

import ProductHeader from "./header";

import ProductSlider from "./slider";

import ProductContent from "./content";

import ProductFooter from "./footer";

import {getProductDetail} from 'api/product';


export default {

name:'Product',

components:{

MeScroll,

ProductHeader,

ProductSlider,

ProductContent,

ProductFooter

},

data(){

return{

id:{

type:Number,

default:''

},

details:{}

}

},

mounted(){

console.log(1)

}

}

</script>

-------------------------------------

router/index.js

import Vue from 'vue'

import Router from 'vue-router'


Vue.use(Router)


const routes = [

{

name:'home',

path:'/home',

component: () => import('pages/home'),    // 路由软加载

children:[    // 二级路由

{

name:'home-product',

path:'product/:id',

component: () => import('pages/product')

}

]

},

{

name:'category',

path:'/category',

component: () => import('pages/category')

},

{

name:'cart',

path:'/cart',

component: () => import('pages/cart')

},

{

name:'personal',

path:'/personal',

component: () => import('pages/personal')

},

{

name:'search',

path:'/search',

component: () => import('pages/search')

},

{

path:'*',

redirect:'/home'

}

]


export default new Router({

routes,

scrollBehavior(to, from, savedPosition){

return { x:0, y:0 }

}

})

----------------------------

这是老课程的作业,我在keep-alive设置里exclude="Product",Product是详情页,是一个二级路由,现在问题是每次进入详情页时,mounted()函数只会在第一次执行,返回在进入时就不会执行了,请问是什么原因

写回答

2回答

好帮手慕星星

2020-06-23

同学你好,已经在私信中进行了回复。祝学习愉快!

0

好帮手慕星星

2020-06-11

同学你好,这边测试没有问题。无论是浏览器中点击返回导航

http://img.mukewang.com/climg/5ee1fbdb095cc8d201310033.jpg

还是在product页面添加一个返回按钮(老师添加的,和search页面的返回按钮一致)

http://img.mukewang.com/climg/5ee1fbfd09acc0f802260039.jpg

第二次点击商品的时候,mounted仍然会执行

http://img.mukewang.com/climg/5ee1fbcb098eddff01130036.jpg

建议再测试下,祝学习愉快!

0
hq_我不是看不起_0
h 老师我能看看相关代码吗,我这还是不行
h020-06-23
共1条回复

0 学习 · 10739 问题

查看课程