项目作者: udyux

项目描述 :
Reactive Vue.js media-queries without resize event listeners
高级语言: JavaScript
项目地址: git://github.com/udyux/vue-device-queries.git
创建时间: 2018-02-14T17:48:56Z
项目社区:https://github.com/udyux/vue-device-queries

开源协议:

下载


Vue device-queries

Reactive Vue.js media-queries without resize event listeners using window.matchMedia. Includes a polyfill that uses resize events when browser support is missing.
See it in action

Usage

Requires Vue.js 2.x

Install

  1. npm i vue-device-queries

Define queries

  1. import Vue from 'vue'
  2. import DeviceQueries from 'vue-device-queries'
  3. Vue.use(DeviceQueries, {
  4. phone: 'max-width: 567px',
  5. tablet: 'min-width: 568px',
  6. mobile: 'max-width: 1024px',
  7. laptop: 'min-width: 1025px',
  8. desktop: 'min-width: 1280px',
  9. monitor: 'min-width: 1448px'
  10. })

Use in components

  1. <template>
  2. <main class="app">
  3. <side-bar v-if="$device.laptop"></side-bar>
  4. <dash-board :items-per-row="itemsPerRow"></dash-board>
  5. </main>
  6. </template>
  7. <script>
  8. export default {
  9. name: 'App',
  10. computed: {
  11. itemsPerRow() {
  12. return (this.$device.phone) ? 1
  13. : (this.$device.tablet) ? 2
  14. : 3
  15. }
  16. }
  17. }
  18. </script>