在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ vue.js keep-alive下的子組件刷新

vue.js keep-alive下的子組件刷新

為了保存Pagination的頁數(shù)而引進(jìn)了keep-alive,就是在App.vue最外面加上的,但是子組件的刷新碰到了問題。

子組件的路徑是/subject/:id , 我希望子組件里能捕獲到每次進(jìn)來的id不同,就獲取新數(shù)據(jù)(數(shù)據(jù)獲取放在mounted中),但是用了keep-alive,每次進(jìn)來就不刷新了。
然后我想到了用watch:$route.params.id, 但是這樣一來watch在進(jìn)入子組件和離開的時(shí)候會(huì)被激活兩次(id變化了兩次),如何能讓他只在進(jìn)來的時(shí)候捕獲id的變化呢?

如果是思路有問題,請(qǐng)幫忙指出,謝謝諸位

回答
編輯回答
嫑吢丕

不知道你的vue版本 在2.2.0以上的版本中是被keep-alive的組件有個(gè)activated的鉤子 你可以在這個(gè)鉤子里面操作

2017年7月15日 03:44
編輯回答
落殤

你把Pagination的頁數(shù)放在vuex里面或者自己弄個(gè)全局變量,然后存在localstorage里面也可以啊

2018年9月5日 01:41
編輯回答
雅痞
data() {
  id: this.$route.id,
  watched: false
},
watch: {
   
    id: function (newId, oldId) {
      if (!this.watched) {
        doFetch();
      }
      this.watched = !this.watched;
    }
  },
2017年3月24日 14:40