小编Gab*_*bor的帖子

如何在 vuex 动作上使用 setTimeout?

我想清空警报状态,以便不显示警报,我真的不知道如何在 addMovieToFavourites 或 removeMovieToFavourites 执行后 x 秒触发 removeAlert 操作,代码如下,谢谢。

警报.js

const state = {
  alert: null
}
const mutations = {
  SET_ALERT(state, alert) {
    state.alert = alert
  },

  REMOVE_ALERT(state) {
    state.alert = null
  }
}
const actions = {
  setAlert({ commit }, alert) {
    commit('SET_ALERT', alert)
  },
  removeAlert({ commit }) {
    commit('REMOVE_ALERT')
  }
}
Run Code Online (Sandbox Code Playgroud)

media.js 添加/删除触发警报消息

const actions = {
  addMovieToFavourites({ commit, dispatch }, movie) {
    commit('ADD_FAVOURITE', movie)
    const alert = {
      type: 'success',
      message: 'Added to favourites!'
    }
    dispatch('alert/setAlert', …
Run Code Online (Sandbox Code Playgroud)

settimeout vue.js vuex vuejs2 vuex-modules

6
推荐指数
1
解决办法
3958
查看次数

标签 统计

settimeout ×1

vue.js ×1

vuejs2 ×1

vuex ×1

vuex-modules ×1