Rumah > hujung hadapan web > View.js > vue.js怎样刷新组件

vue.js怎样刷新组件

coldplay.xixi
Lepaskan: 2020-11-30 15:47:07
asal
3409 orang telah melayarinya

vue.js刷新组件的方法:首先给【router-view】标签添加key属性将key绑定的值放在状态管理容器里面;然后通过状态管理容器的mutations或者actions触发key值的变化即可。

vue.js怎样刷新组件

本教程操作环境:windows10系统、vue2.9,本文适用于所有品牌的电脑。

【相关文章推荐:vue.js

vue.js刷新组件的方法:

开发过程遇到了一个问题,就是我的 router-view 里面渲染出来的组件输入数据之后,我点击 路由视图外边的导航栏 router-link 按钮,可以实现清除 router-view 里面的数据,也就是使组件重新渲染。

vm.$forceUpdate()这个方法可以使当前组件调用这个方法时,重新渲染组件。给 router-view 标签添加 key 属性将 key 绑定的值放在状态管理容器里面,通过 状态管理容器的 mutations 或者 actions 触发 key 值的变化,即可实现重新渲染组件的目的。相关实现代码如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

// store/view.js

const state = {

 viewId: 1

};

const getters = {

 getViewId: state => {

  return state.viewId;

 }

};

const mutations = {

 setViewId: (state, payload) => {

  state.viewId++;

 }

};

const actions = {

 setViewId: (context, payload) => {

  context.commit("setViewId", payload);

 }

};

export default {

 namespaced: true,

 state,

 getters,

 mutations,

 actions

};

Salin selepas log masuk

放置 router-view 标签的Layout 组件

f2e9febed2118362a9d7654cebe2b79.png

触发 viewid,使 router-view 对应的路由组件刷新的地方,比如导航栏组件。

1

2

3

4

5

methods: {

  fresh() {

    this.$store.dispatch("view/setViewId")

  }

}

Salin selepas log masuk

相关免费学习推荐:javascript(视频)

Atas ialah kandungan terperinci vue.js怎样刷新组件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan