这篇文章主要介绍“vue路由第二次进入页面created和mounted不执行如何解决”,在日常操作中,相信很多人在vue路由第二次进入页面created和mounted不执行如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue路由第二次进入页面created和mounted不执行如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
因为路由中created和mounted默认会进行缓存的,除非在router.js中配置:keepAlive: false;
这样是把这个页面的路由缓存给关闭了;true为开启,false为关闭;
meta: { keepAlive: false },
还有一种办法就是使用activated钩子就可以了
1、将要处理的方法,放在activated函数中
总结
1、router-view路由跳转使用keep-alive方式
2、created和mounted只执行一次
3、使用activated钩子,每次进入页面执行一次
created
:html加载完成之前,执行。执行顺序:父组件-子组件
mounted
:html加载完成后执行。执行顺序:子组件-父组件
methods
:事件方法执行
watch
:watch是去监听一个值的变化,然后执行相对应的函数。
computed
:computed是计算属性,也就是依赖其它的属性计算所得出最后的值
export default {
name: "draw",
data(){ // 定义变量source
return {
source:new ol.source.Vector({wrapX: false}),
}
},
props:{ //接收父组件传递过来的参数
map:{
//type:String
},
},
mounted(){ //页面初始化方法
if (map==map){
}
var vector = new ol.layer.Vector({
source: this.source
});
this.map.addLayer(vector);
},
watch: { //监听值变化:map值
map:function () {
console.log('3333'+this.map);
//return this.map
console.log('444444'+this.map);
var vector = new ol.layer.Vector({
source: this.source
});
this.map.addLayer(vector);
}
},
methods:{ //监听方法 click事件等,执行drawFeatures方法
drawFeatures:function(drawType){}
}
到此,关于“vue路由第二次进入页面created和mounted不执行如何解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。