vue-interview

41-怎么监听vuex数据的变化?

分析

vuex数据状态是响应式的,所以状态变视图跟着变,但是有时还是需要知道数据状态变了从而做一些事情。

既然状态都是响应式的,那自然可以watch,另外vuex也提供了订阅的API:store.subscribe()


思路


回答范例

实践

watch方式

const app = createApp({
    watch: {
      '$store.state.counter'() {
        console.log('counter change!');
      }
    }
  })

subscribe方式:

  store.subscribe((mutation, state) => {
    if (mutation.type === 'add') {
      console.log('counter change in subscribe()!');
    }
  })