javascript - 在 Vue3 组合 API 中让观察者立即工作

标签 javascript vue.js vuejs3 vue-composition-api

使用 Vue3 组合 API。我如何让 watch 立即工作。以下代码不起作用。

watch((immediate=true) => props.isOpen, () => {
        if (props.isOpen && props.preventBackgroundScrolling) {
          document.body.style.setProperty('overflow', 'hidden')
        } else {
          document.body.style.removeProperty('overflow')
        }

          });

最佳答案

它应该作为选项放置:

watch(() => props.isOpen, () => {
        if (props.isOpen && props.preventBackgroundScrolling) {
          document.body.style.setProperty('overflow', 'hidden')
        } else {
          document.body.style.removeProperty('overflow')
        }

          },{immediate:true});

或者
watch('props.isOpen', () => {
        if (props.isOpen && props.preventBackgroundScrolling) {
          document.body.style.setProperty('overflow', 'hidden')
        } else {
          document.body.style.removeProperty('overflow')
        }

          },
       {immediate:true}
   );

关于javascript - 在 Vue3 组合 API 中让观察者立即工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65070065/

相关文章:

asp.net - 为什么 Javascript 代码不能在用户控件中运行?

javascript - 如何在 svg 和 d3.js 中指向线的交点?

vue.js - Vuejs Prop 未定义

vue.js - vuex 完成后加载时设置 false

javascript - 为什么index-of在vuejs中不能正常工作?

javascript - 可以使用变量的值作为函数名来调用函数吗?

javascript - 如何使用 jQuery 重置 HTML5 表格?

javascript - vue3 类处于事件状态时如何切换事件

javascript - Vue.js 3.0 : Read and set object properties from method

html - 是否可以有条件地渲染布局?