vue通过this.$router.push()跳转页面,页面不重新渲染
项目需求:近期项目需要做个列表和详情页功能,采用vue组件方式,通过路由跳转传递不同的参数到详情页。发现只有第一次进入详情页的时候,页面执行了created,之后在进入页面就不会执行created,第二次之后页面数据不发生变化。原因:经过排查发现,详情页组件设置了name和其他组件name重复了,并且与详情页组件name相同的组件设置了keepActive:true, 所以详情页加载第一次之后,跳
·
项目需求:
近期项目需要做个列表和详情页功能,采用vue组件方式,通过路由跳转传递不同的参数到详情页。发现只有第一次进入详情页的时候,页面执行了created,之后在进入页面就不会执行created,第二次之后页面数据不发生变化。
原因:
经过排查发现,详情页组件设置了name和其他组件name重复了,并且与详情页组件name相同的组件设置了keepActive:true, 所以详情页加载第一次之后,跳转到其他页面时并没有销毁,导致第二次进入不执行created。
解决办法:
改掉详情页的name,开始时也要注意name不要重复
vue组件name的作用:
1.和keep-active一起使用,进行组件的缓存
2.封装递归组件时使用
更多推荐
已为社区贡献4条内容
所有评论(0)