计算属性更新后执行函数的最佳方式

Kin*_*rog 6 vue.js vue-component vuex vuejs2

目前我有一个组件,它有一个从 Vuex 商店更新的计算属性。这部分工作完美。我感到困惑的是,一旦计算属性更新,我必须始终根据我的观点相应地调整数据。实现这一目标的最佳方法是什么?

例如:

我的组件有:

    computed: {
        players: function() {
            return this.$store.state.players;
        },
Run Code Online (Sandbox Code Playgroud)

我以前有一个功能setupPlayers(data)可以调整此信息并将其提供给视图。

我现在的问题是,如果计算的玩家发生变化,我想运行一个函数来调整视图的数据。我该怎么做呢?或者我的方法不正确?

tha*_*ksd 6

您应该使数据更新计算属性并使其依赖于players计算属性:

computed: {
  players: function() {
    return this.$store.state.players;
  },
  myData: function() { // will update automatically whenever this.players changes
    var players = this.players;
    // do something players data
  }
}
Run Code Online (Sandbox Code Playgroud)

如果您因任何原因无法将该数据作为计算属性,那么您也可以使用watcher

watch: {
  players: function(value) {
    // update your data
  }
}
Run Code Online (Sandbox Code Playgroud)