隐藏或显示窗口调整大小 vuejs

Posted

技术标签:

【中文标题】隐藏或显示窗口调整大小 vuejs【英文标题】:Hide or show on window resize vuejs 【发布时间】:2020-09-10 17:18:17 【问题描述】:

假设有什么方法可以做到这一点,我的站点中有两个标题现在我希望当我在某个位置调整窗口大小时,它会被v-if 指令隐藏。我试图喜欢这个,但这不起作用。我不想通过 css 做到这一点。

<header v-if="deskMenu" id="headerDesktop" class="menu-desktop flex items-center justify-between py-6 px-10"></header>

<script>
  export default 
    name: "MainNav",

    data() 
       return 
           deskMenu : false,
       
    ,

    mounted() 
       this.$nextTick(function () 
           $(window).on('load resize', function () 
              if (matchMedia('only screen and (min-width: 1024px)').matches) 
                  this.deskMenu = true
                  console.log(this.deskMenu)
               else 
                  this.deskMenu = false
                  console.log(this.deskMenu)
              
           )
        )
     ,
  
 </script>

【问题讨论】:

你也在用jquery吗? 是的,用于调整窗口大小,我不知道有什么更好的方法来做到这一点 没关系,你的代码this不是vue组件的引用 【参考方案1】:

将回调更改为箭头函数,以使用 this 获取 vue 组件引用。

  mounted() 
    this.$nextTick(() => 
        $(window).on('load resize', () =>  
           if (matchMedia('only screen and (min-width: 1024px)').matches) 
               this.deskMenu = true
               console.log(this.deskMenu)
            else 
               this.deskMenu = false
               console.log(this.deskMenu)
           
        )
      )
    ,

【讨论】:

以上是关于隐藏或显示窗口调整大小 vuejs的主要内容,如果未能解决你的问题,请参考以下文章

使用媒体查询在调整窗口大小期间隐藏 div

媒体查询断点上的 CSS 重置值(调整窗口大小或方向更改)

单击汉堡图标并调整窗口大小后,Navbar消失(我不希望它隐藏)

如果调整窗体大小,如何使用鼠标坐标显示或隐藏面板?

动态调整视图大小 osx

覆盖winform窗口的调整大小行为