基于媒体查询的vue绑定值

Chr*_*ris 9 css vue.js

carousel-3d(:display="3", :width="150", :height="150")
Run Code Online (Sandbox Code Playgroud)

我想根据媒体查询设置属性绑定

例如

当屏幕宽度 > 960px 时 display 应该变成 5

Ste*_*ado 16

您可以尝试将显示值绑定到组件属性:

<carousel-3d :display="display">
Run Code Online (Sandbox Code Playgroud)

...然后在调整窗口大小时更新该属性:

...

data() {
  return {
    display: 3
  }
},

methods: {
  onResize() {
    if (window.innerWidth > 960) {
      this.display = 5
    } else {
      this.display = 3
    }
  }
},

created() {
  window.addEventListener('resize', this.onResize)
},

beforeDestroy() {
  window.removeEventListener('resize', this.onResize)
},

...
Run Code Online (Sandbox Code Playgroud)