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

问题描述 投票:0回答:1

我正在尝试将vue-dragscrollnuxtjs结合使用。

我是nuxtjs的新手,以前在将vue-dragscroll与常规vuejs一起使用。

已显示错误未定义窗口,我查看了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
  },
vue.js nuxt.js
1个回答
0
投票

您将必须在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 }

此插件利用了在SSR期间不可用的window,因此会导致您的错误。

© www.soinside.com 2019 - 2024. All rights reserved.