vue父子组件如何同时触发window.onresize?

3131975015
  • 411

APP.vue里面使用了mounted contact组件里面也使用了mounted 我首页设置的是/home 在首页改变大小会弹出1 如果在切换到/contact下只能弹2 我想在子组件contact中改变大小时同时让1也弹出来应该怎么办呢?下面这样的布局下能做到吗?

PS:后来我发现一个现象 就是我把contact组件中的mounted去掉 当再切换到组件contact中改变大小时App.vue里面的mounted就能生效了 可以弹出1 但是两个mounted为什么不能同时生效?
App.vue

<template>
  <div id="app">
    <div class="nav">
      <span><router-link to="/home">首页</router-link></span>
      <span><router-link to="/product">产品</router-link></span>
      <span><router-link to="/contact">联系</router-link></span>
    </div>
    <div class="views">
      <router-view/>
    </div>
  </div>
</template>

mounted () {
    window.onresize = () => {
      return (() => {
        alert(1)
      })()
    }
}

contact.vue

mounted () {
    window.onresize = () => {
      return (() => {
        alert(2)
      })()
    }
}
回复
阅读 2.7k
3 个回答

addEventListener

addEventListener监听

在 contact 组件派发一个事件出去,让 App 组件接受这个事件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏