«

vue 组件监听props参数值变化

时间:2024-11-21 17:05     作者:紫琪软件工作室     分类: uni-app


  1. 使用 watch 监听器
    watch 是一个对象,其中每个属性都是一个观察函数,用于观察特定的数据模型的变化。当你需要执行异步操作或者开销较大的操作时,使用 watch 是非常合适的。

    watch: {
    selectedIdValue: {
        handler(n, o) {
        this._selectedValue = 0
    },
        deep: true
    }
    }
  2. 使用 computed 计算属性
    如果你只是需要基于 prop 的值计算一些衍生数据,并且这些计算是无副作用的(即不会引起额外的状态变更),那么可以使用 computed 属性。

    computed: {
    // 每当 message 变化时,computedMessage 也会自动更新
    computedMessage() {
        return this.message.toUpperCase();
    }
    }
  3. 使用 beforeUpdate 和 updated 生命周期钩子
    虽然不太常见,但在某些情况下,你可能希望在组件更新前后执行某些操作。Vue 提供了 beforeUpdate 和 updated 生命周期钩子,可以在组件数据更新之前或之后触发。

    beforeUpdate() {
    console.log('Component is about to update due to changes in message');
    },
    updated() {
    console.log('Component has been updated due to changes in message');
    }
  4. 使用 sync 修饰符 (仅限 Vue 2.x)
    在 Vue 2.x 中,可以使用 .sync 修饰符来简化父子组件之间的双向绑定。不过请注意,从 Vue 3 开始,.sync 被移除,推荐使用 v-model 或自定义事件来实现相同的功能。