【问题标题】:Is there a way to watch a specific property of an object in vue 3?有没有办法在 vue 3 中查看对象的特定属性?
【发布时间】:2021-03-16 10:01:03
【问题描述】:

Here 文档仅显示了一种使用来观察整个反应性对象的方法

const state = reactive({ 
  id: 1, 
  name: "",
});

watch(
  () => state,
  (state, prevState) => { // ...
  }
);

如果我只想看name的变化呢?

watch(state.name, (name, prevName) => {
    // for example: send a request to serve side for occupation validation
});

上面的代码是错误的。

【问题讨论】:

    标签: typescript vue.js vuejs3


    【解决方案1】:

    你可以像这样观察单个属性的变化:

    const state = reactive({
      id: 1,
      name: ""
    });
    
    watch(
      () => state.name,
      (newName, prevName) => {
        /* ... */
      }
    );
    

    【讨论】:

    • computed 值是否可以实现相同的操作?
    【解决方案2】:
    watch: {
        'state.name': function () {
             // updated...
        }
    }
    

    希望它对你有用。

    【讨论】:

    • OP 使用的是 Composition API,而不是 Options API。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 2021-12-14
    • 2014-02-06
    相关资源
    最近更新 更多