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

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

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

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

Nuxt.js

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

解決済

1回答

835閲覧

Nuxtでの$記号の扱い

shinido

総合スコア1

Vue.js

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

Nuxt.js

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

0クリップ

投稿2020/05/07 05:07

質問概要

  • Nuxtの勉強をしているのですが、$記号の使い方がよくわかっていません。
  • this.$axiosでimportなしにaxiosが使えるのはなぜでしょうか?
  • また、$記号の使い方に関する正式なドキュメント等はどこかにありますか?

$を使った例

  • 例えば、NuxtにExpressを導入し、axiosを使って連携する場合、下記のようなコードを書きます。

js

1 export default { 2 asyncData(app) { 3 return app.$axios.get('/api/users') 4 .then((res) =>{ 5 return { result: res.data } 6 }) 7 }, 8 ... 9 }
  • また、メソッド呼び出しする場合は次のようになると思います。

js

1 methods: { 2 test() { 3 this.$axios.get('api/users') 4 .then((res) => { 5 this.result = res.data 6 } 7 }
  • この場合、 import axios from 'axios'とはせずにapp.$axiosと書ける理由がよくわかりません。
  • URLのパラメーターを取得するときも、this.$route.paramsといった記述が見られるので、axiosに限定した話ではなさそうです。

Javascript系での$の使われ方

  • $記号は、Javascriptではただの文字列ですし、Typescriptでも${ a + b }といった $と{}を使った記法はありますが、$記号単体を使った記述方法は出てきません。
  • 有名どころではjQueryでよく使っていましたが$()な使い方なので関係なさそうです。
  • VueやNuxtのドキュメントにも$記号に関する情報が見当たりません(見落としてるだけかもしれません)
  • おそらくは$を使うことでimport文を省略できるのだと思いますが、それはJSなのか、TSなのか、VueなのかNuxtなのか誰がやってくれているのでしょうか

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

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

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

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

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

guest

回答1

0

ベストアンサー

おそらくは$を使うことでimport文を省略できるのだと思いますが、それはJSなのか、TSなのか、VueなのかNuxtなのか誰がやってくれているのでしょうか

@nuxt/axiosというモジュールです(Webサイト)。これが、this.$axiosなどを用意しています。

$記号は、Javascriptではただの文字列ですし

はい。同様に、$axiosというプロパティもふつうに作れます。

投稿2020/05/07 05:15

maisumakun

総合スコア145183

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

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

shinido

2020/05/07 05:21

なるほど、axiosではなく@nuxt/axiosの機能だったのですね・・・。 $routeとかも同じ理屈でただのプロパティですね。 理解できました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問