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

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

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

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

Vue CLI

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

Q&A

2回答

840閲覧

Vue components で値が渡せない

hakutankei

総合スコア4

Vue.js

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

Vue CLI

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

0グッド

0クリップ

投稿2019/08/25 05:18

編集2019/08/25 11:37

vueのpropsを使用したコードを書いていますが、受け渡しがおかしいのかうまくいきません。
値を指定しているはずなのにnot defined が表示されてしまいます。

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

app.js?id=63693c9879da2cb5ccb5:116707 [Vue warn]: Property or method "msg" 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.

該当のソースコード

App.vue

<template> <div class="source"> <EditFormview msg="文字を渡す" /> </div> </template> <script> import EditFormview from "./test.vue"; export default { components: { EditFormview }, data() { return { editVisible: false, } } </script>

test.vue

<template> <div>test : {{ msg }}</div> </template> <script> export default { props: ['msg'], data() { return { msg:'デフォルト文字', }; } } </script>

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

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

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

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

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

guest

回答2

0

dataのmsgとpropsのmsgが重複しているからではありませんか?
propsにdefaultの文字を設定したい場合は以下のような形が基本になります。

vue

1<template> 2 <div>test : {{ msg }}</div> 3</template> 4 5<script> 6export default { 7 props: { 8 msg: { 9 type: String, 10 default: 'デフォルト文字' 11 } 12 } 13} 14</script> 15

投稿2019/08/27 01:21

nt4c

総合スコア768

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

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

0

コードを良く見て正確にコードを記載していただきたいです。

<template> <div class="source"> <EditFormview msg="文字を渡す" /> </div> </template> import EditFormview from "./test.vue"; export default { name: "book", components: { EditFormview }, data() { return { editVisible: false, } }

html

1<template> 2 <div class="source"> 3 <EditFormview msg="文字を渡す" /> 4 </div> 5</template> 6 7<script> 8import EditFormview from "./test.vue"; 9export default { 10 name: "book", 11 components: { 12 EditFormview 13 }, 14 data() { 15 return { 16 editVisible: false, 17 } 18 } 19} 20</script>

投稿2019/08/25 05:31

yasutomi

総合スコア2937

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

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

hakutankei

2019/08/25 11:39

ありがとうございます。 貼り付けに失敗しており、<script>が抜けておりましたので修正しました。
yasutomi

2019/08/25 11:47

記載されているコードだと実行されないです。 繰り返しになりますが、コードを良く見て 正確にコードを記載していただきたいです。 あとtest.vueにdata()は不要です。 https://jp.vuejs.org/v2/guide/components-props.html
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問