🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Vue.js

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

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Q&A

解決済

1回答

1839閲覧

Nuxt.js のレーダーチャートのグローバルコンポーネントが表示されない。

toshihirokato

総合スコア20

Vue.js

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

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

0グッド

0クリップ

投稿2019/12/15 18:33

編集2019/12/27 19:09

前提・実現したいこと

現在、こちらのサイトを参考にしてNuxt.js + Chartjs を用いてレーダーチャートを作成しています。
そして、グローバルコンポーネントを作成していた際に、以下のエラーが発生いたしました。

発生している問題・エラーメッセージ

[Vue warn]: Unknown custom element: <radar-chart> - did you register the component correctly? For recursive components, make sure to provide the "name" option. found in ---> <App/pages/radar.vue> at app/pages/radar.vue <Nuxt> <.nuxt/layouts/default.vue> at .nuxt/layouts/default.vue <Root>

該当のソースコード

「plugins/vue-chartjs.js」 import Vue from 'vue' import { Radar, mixins } from 'vue-chartjs' const { reactiveProp } = mixins Vue.component('radar-chart', { extends: Radar, mixins: [reactiveProp], props: { options: { type: Object, default: () => { } } }, mounted () { this.renderChart(this.data, this.options) } })

該当のソースコード

「pages/radar.vue」 <template> <div> <radar-chart :data="data" :options="options" /> </div> </template> <script> export default { data () { return { labels: ['数学', '英語', '理科', '国語', '社会'], options: { maintainAspectRatio: false, animation: { duration: 1000, easing: 'easeInOutCubic' } } } }, computed: { data () { return { datasets: [ { label: 'My favorite and weak subjects', backgroundColor: 'rgba(0, 150, 255, 0.2)', borderColor: 'rgba(0, 150, 255, 1)', pointBackgroundColor: 'rgba(0, 150, 255, 1)', pointBorderColor: '#fff', pointHoverBackgroundColor: '#fff', pointHoverBorderColor: 'rgba(0, 150, 255, 1)', data: [100, 90, 80, 70, 60] } ] } } } } </script>

試したこと

こちらのサイトを参考に、コンポーネント名を変更したりしましたが、解決に至りませんでした。

該当のソースコード

「package.json」 { "name": "", "version": "1.0.0", "description": "My epic Nuxt.js project", "author": "toshihirokato", "private": true, "scripts": { "dev": "nuxt", "build": "nuxt build", "start": "nuxt start", "generate": "nuxt generate", "lint": "eslint --ext .js,.vue --ignore-path .gitignore ." }, "dependencies": { "@nuxtjs/axios": "^5.8.0", "chart.js": "^2.9.3", "firebase": "^7.5.2", "nuxt": "^2.10.2", "vue-chartjs": "^3.5.0" }, "devDependencies": { "@nuxtjs/eslint-config": "^2.0.0", "@nuxtjs/eslint-module": "^1.1.0", "@nuxtjs/vuetify": "^1.9.1", "babel-eslint": "^10.0.3", "eslint": "^6.7.2", "eslint-plugin-nuxt": ">=0.5.0" } }

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

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

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

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

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

guest

回答1

0

自己解決

pluginディレクトリからグローバルコンポーネントを作成してimportしても解決に至らなかったので、
大人しくcomponetsディレクトリ内にコンポーネントを作成してimportしたら、ちゃんとグラフが表示されました。

投稿2019/12/18 06:25

toshihirokato

総合スコア20

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問