带有vue-dragscroll的nuxt:未定义窗口

时间:2020-03-27 06:04:51

标签: vue.js nuxt.js

我正在尝试将vue-dragscrollnuxtjs一起使用。

我是nuxtjs的新手,以前我经常使用vue-dragscrollvuejs

已显示错误未定义窗口,我查看了vue-dragscroll文档,但仍然找不到解决方案。

enter image description here

这就是我实现vue-dragscroll

的方式
<template lang="pug">
  div
    CountriesSearch.mb-2
    div#countryList(v-for="country in countries" :key="country.country" v-dragscroll)
      CountryItem(:country="country" v-if="country.Country")
</template>

<script>
import { dragscroll } from 'vue-dragscroll'

export default {
  directives: {
    dragscroll
  },

1 个答案:

答案 0 :(得分:3)

您将不得不在plugin文件中将其声明为指令。

// plugins/vue-dragscroll.js
import Vue from 'vue'
import { dragscroll } from 'vue-dragscroll'

Vue.directive('dragscroll', dragscroll)

然后,在您的nuxt.config.js中将该插件文件添加到您的plugins: []数组中:

{ src: '@/plugins/vue-dragscroll.js', ssr: false }

此伪指令利用了window,它在SSR期间不可用,因此会出错。