質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Q&A

解決済

1回答

4521閲覧

vue-slickのエラーを解決したい

ryu_t

総合スコア58

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

0グッド

0クリップ

投稿2019/02/07 03:00

以下のコンポーネントをインストールして、スライダーを実装しているのですが、サンプルの通りに記述したところ
https://github.com/staskjs/vue-slick

Uncaught ReferenceError: Vue is not defined

とエラーがでており

import Vue from 'vue';

を追記したところ

vue.esm.js?a026:610 [Vue warn]: Property or method "slickOptions" is not defined on the >instance but referenced during render. Make sure that this property is reactive, either >in the data option, or for class-based components, by initializing the property. See: >https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.

found in

---> <SampleSwiper> at src/components/parts/Swiper.vue
<Top> at src/components/controller/top/Top.vue
<App> at src/App.vue
<Root>

とエラーが出ております。

何が足りないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ソースコードがないのでなんとも言えないですが、エラーメッセージから判断するに

単一ファイルコンポーネント(vueファイル)でやってる感じなのでサンプルコードのコピペでは動きません
サンプルコードのnew Vue({は不要です(それ以下の部分が必要)

script部分で必要なのは

vue

1import Slick from 'vue-slick';

vue

1 components: { Slick }, 2 3 data() { 4 return { 5 slickOptions: { 6 slidesToShow: 3, 7 // Any other options that can be got from plugin documentation 8 }, 9 }; 10 }, 11 12 // All slick methods can be used too, example here 13 methods: { 14 next() { 15 this.$refs.slick.next(); 16 }, 17 18 prev() { 19 this.$refs.slick.prev(); 20 }, 21 22 reInit() { 23 // Helpful if you have to deal with v-for to update dynamic lists 24 this.$nextTick(() => { 25 this.$refs.slick.reSlick(); 26 }); 27 }, 28 29 // Events listeners 30 handleAfterChange(event, slick, currentSlide) { 31 console.log('handleAfterChange', event, slick, currentSlide); 32 }, 33 handleBeforeChange(event, slick, currentSlide, nextSlide) { 34 console.log('handleBeforeChange', event, slick, currentSlide, nextSlide); 35 }, 36 handleBreakpoint(event, slick, breakpoint) { 37 console.log('handleBreakpoint', event, slick, breakpoint); 38 }, 39 handleDestroy(event, slick) { 40 console.log('handleDestroy', event, slick); 41 }, 42 handleEdge(event, slick, direction) { 43 console.log('handleEdge', event, slick, direction); 44 }, 45 handleInit(event, slick) { 46 console.log('handleInit', event, slick); 47 }, 48 handleReInit(event, slick) { 49 console.log('handleReInit', event, slick); 50 }, 51 handleSetPosition(event, slick) { 52 console.log('handleSetPosition', event, slick); 53 }, 54 handleSwipe(event, slick, direction) { 55 console.log('handleSwipe', event, slick, direction); 56 }, 57 handleLazyLoaded(event, slick, image, imageSource) { 58 console.log('handleLazyLoaded', event, slick, image, imageSource); 59 }, 60 handleLazeLoadError(event, slick, image, imageSource) { 61 console.log('handleLazeLoadError', event, slick, image, imageSource); 62 }, 63 },

かな

投稿2019/02/07 03:24

rururu3

総合スコア5545

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryu_t

2019/02/07 03:47

ご指摘の通り、「vueファイル」でした。エラーもなくなり、スライダーが表示されました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問