其实就是对vue的生命周期函数了解不够~

最近做项目碰到一个很头大的问题–从a页面跳到b页面进行编辑,编辑完再返回a页面,再跳到b页面却没走b页面的mounted,数据不更新啊啊啊啊啊啊啊啊啊啊啊

经过百度,终于找到了问题所在,记录一下,免得后面再踩坑:

首先来看看几个容易混淆的函数:

created():当html渲染之前就触发;但是不强制刷新或者重启时只创建一次,也就是说,created()只会触发一次(基于这一点咱可以把它用于页面预加载数据);

mounted():页面初始化完成后触发,与created一样只会触发一次(可用于页面初始化数据);

activated():在vue对象存活的情况下,进入当前存在activated()函数的页面时,一进入页面就触发;可用于初始化页面数据(可解决页面返回上一页后,重新进入此页面的数据刷新问题,这不就解决了我当前的问题嘛~~~~~)

页面第一次进入,钩子函数的触发顺序created -> mounted -> activated,退出时触发deactivated。当再次进入(前进或者后退)时,只触发activated

所以啊嘎嘎嘎嘎嘎把mounted换成activated就可以啦

Logo

前往低代码交流专区

更多推荐