有关老课程中设置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-11
同学你好,这边测试没有问题。无论是浏览器中点击返回导航
还是在product页面添加一个返回按钮(老师添加的,和search页面的返回按钮一致)
第二次点击商品的时候,mounted仍然会执行
建议再测试下,祝学习愉快!
相似问题