ha6-6ru / vuejs-handson

「21Stepで体得 Vue.jsハンズオン (StepUp! 選書)」に関する情報提供を目的としたリポジトリです。
9 stars 1 forks source link

「09.03 Vue Router を使用して画面を遷移させてみよう」でボタンで画面が遷移しない #1

Closed bake0937 closed 3 years ago

bake0937 commented 3 years ago

@ha6-6ru はじめまして.本書で勉強している @bake0937 と申します. 本書のP270にある「09.03 Vue Router を使用して画面を遷移させてみよう」にある, step09-3-b.vue を書いて,動かしてみているのですが,リンクは動きますが,ボタンが動きません. Chrome(87.0.4280.141)のconsoleではボタンを押しても特にErrorなどは表示されず,URLバーのURLも変化しません.

※Warningの箇所は今回の不具合とは関係ないと判断しました.

Warningの内容 ``` vue.runtime.esm.js?2b0e:619 [Vue warn]: Property or method "calendar" 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 ---> at src/views/Home.vue at src/App.vue ```

image

こちら,動かない原因・修正方法はわかりますでしょうか? なお,書いたサンプルコードは下記になります.

また,Vue-cliのプロジェクト全体のコードは以下のブランチです.

他に必要な情報等があれば教えて頂けると幸いです 🙇🏻

ha6-6ru commented 3 years ago

@bake0937 はじめまして。 このwarning、テンプレートに指定されているプロパティやメソッドが定義されていない(探せない)ことを意味していますが、Composition APIが有効になっていないことが原因です。このwarningが出たら、そもそもComposition APIが有効になっているか、プロパティやメソッドが定義できているか、setup内でreturnできているか、といったあたりを確認していただくとよいかと思います。

p252一番上のサンプルコードで示していますが、main.js でComposition APIを有効にしてみてください。 以下を追加すれば動作すると思います。

import VueCompositionAPI from '@vue/composition-api';
Vue.use(VueCompositionAPI);
bake0937 commented 3 years ago

@ha6-6ru コメント頂きありがとうございます! 動かなかった原因,このWarningが原因だったのですね...(Errorではなく,Warningなので,書いたコードに誤りがないかをひたすらチェックしてしまってました.)

p252一番上のサンプルコードで示していますが、main.js でComposition APIを有効にしてみてください。 以下を追加すれば動作すると思います。

こちらの追加が抜けてしまっていました.申し訳ございません🙇🏻 上記のコードを追加したところ,無事ボタンで画面が遷移することが出来ました.

このwarningが出たら、そもそもComposition APIが有効になっているか、プロパティやメソッドが定義できているか、setup内でreturnできているか、といったあたりを確認していただくとよいかと思います。

ありがとうございます.今後も類似のErrorが出た場合はこちらのアプローチで原因を調査します.

こちらのissueは私の方で問題ないと判断したため私の方でCloseしても良いでしょうか?(issue運用等のルールが見当たらなかったため念の為お聞きしました)

ha6-6ru commented 3 years ago

@bake0937 解決して良かったです。

こちらのissueは私の方で問題ないと判断したため私の方でCloseしても良いでしょうか?(issue運用等のルールが見当たらなかったため念の為お聞きしました)

ルール設けずゆるりと運営する予定です。それでは、closeお願いします。

bake0937 commented 3 years ago

@ha6-6ru 了解です!ありがとうございました!Closeします!