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

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

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

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

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

JavaScript

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

Q&A

1回答

693閲覧

別ファイルにあるコンポーネントへのデータの受け渡し方法について

study_111

総合スコア82

Vue.js

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

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

JavaScript

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

0グッド

0クリップ

投稿2020/08/06 02:15

前提・実現したいこと

Vue Routerを用いて、axiosで返ってきたレスポンスのデータを遷移先(this.$router.push('check/'))のVueファイルへ渡したいです。

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

VueRouterのドキュメントを読んだのですが、URLへ「ドメイン/パラメーター」のような形で含めることは出来るのですが、URLに含ませずに送る方法が見当たらない状況です。

該当のソースコード

以下は、test1.Vueになります。

<template> <div> <h1>test</h1> <h5>テストページ</h5> <p v-if="errors.length"> <b>Please correct the following error(s):</b> <ul> <li v-for="(error,index) in errors" :key="index">{{ error }}</li> </ul> </p> <form action="" method="get" v-on:submit.prevent="submit"> <input type="text" v-model="inputUrl" name="url" placeholder="http://example.com"> <button type="submit">送信</button> </form> <!-- <loading v-if="loading"></loading> --> </div> </template> export default { name:'top-component', data() { return { errors:[], inputUrl:'' } }, methods: { submit(){ this.loading = true this.errors = []; this.csrftoken = Cookies.get('csrftoken'); console.log('csrftokenは ' , this.csrftoken); if(!this.inputUrl){ this.errors.push('urlを入力して下さい') }else if(!this.checkFormat(this.inputUrl)){ this.errors.push('URLが正しくありません') } if (!this.errors.length){ axios.post( '/polls/check/', this.inputUrl, { headers:{ 'X-CSRFToken':this.csrftoken } } ) .then(response => { console.log(response) this.info = response.data; this.$router.push('check/') }) </script>

試したこと

コンポーネント間の通信は可能なようなのですが、こちらは同一ファイル内でコンポーネントを定義し、その間でデータの受け渡しを行う方法かと思います。
今回は、test1.vueからtest2.vueコンポーネントへデータの受け渡しを行いたいのですが、2つのコンポーネント間は同一フォルダの別のファイルとして作成している形です。

補足情報(FW/ツールのバージョンなど)

Vueのプロジェクト自体は、VueCliを用いて作成しました。

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

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

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

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

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

guest

回答1

0

Vuexをつかってください。
どのコンポーネントからでも参照できる値を保持するための公式モジュールです。

投稿2020/08/06 04:50

H40831

総合スコア973

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

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

study_111

2020/08/06 07:28

ご回答ありがとうございます。 Vuexを調べてみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問