Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

Vue对某个对象的属性进行watch监听

普通的watch

data() {
  return {
    balance: 0
  }
},
watch: {
  balance (newValue, oldValue) {
    console.log(newValue)
  }
}

对象属性的watch

data() {
  return {
    user: {
      name: 'Joe.Ye',
      homepage: 'http://www.appblog.cn'
    }
  }
},
watch: {
  user: {
    handler(newValue, oldValue) {
      console.log(newValue)
    },
    deep: true
  }
}

只要user中的属性发生变化(可被监测到的),便会执行handler函数

对象某个具体属性的watch

如果想监测具体的属性变化,如homepage变化时,才执行handler函数,则可以利用计算属性computed做中间层。

data() {
  return {
    user: {
      name: 'Joe.Ye',
      homepage: 'http://www.appblog.cn'
    }
  }
},
computed: {
  homepage() {
    return this.user.homepage
  }
},
watch: {
  homepage (newValue, oldValue) {
    console.log(newValue)
  }
}
上一篇 Vuex组件通信优化:router页面跳转导致watcher不能监听数据变化
下一篇 Vuex状态监听mapState与普通的局部计算属性混合使用