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

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回答

1089閲覧

【VUE CLI】リンクボタンのリンクをページごとに設定したい

progblog

総合スコア22

Vue.js

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

Vue CLI

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

JavaScript

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

0グッド

0クリップ

投稿2020/07/02 13:20

編集2020/07/02 13:20

「VUE CLI」で作成したリンクボタンのリンクをページごとに設定したい

VUEを使用しSPAのページを作成しました。
よく使用するリンクボタンのコンポーネントを作成したのですが、ページごとにリンクの設定ができません。

作成コード

下記コードを作成しました。
しかしこれだと当然、他ページで使用する際に、同一のリンクにになってしまいます。

cvBtn

1<template> 2 <div class="cv-btn"> 3 <p class="btn"><a class="btn-link" v-bind:href="url">{{msg}}</a></p> 4 </div> 5</template> 6 7<script> 8export default { 9 name: 'cvBtn', 10 data () { 11 return { 12 url: 'ここで設定したリンクは反映される' 13 } 14 }, 15 props: { 16 msg: String 17 } 18} 19</script> 20 21<style scoped lang="scss"> 22</style>

## 試してみたこと

これだとURLすら反映されませんでした。

Blog

1<template> 2 <div class="cv-btn"> 3 <p class="btn"><a class="btn-link" v-bind:href="url">{{msg}}</a></p> 4 </div> 5</template> 6 7<script> 8export default { 9 name: 'cvBtn', 10 props: { 11 msg: String 12 } 13} 14</script> 15 16<style scoped lang="scss"> 17</style>

cvBtn

1<template> 2 <div class="about"> 3 <div class="l-content"> 4 <pageTitle msg='BLOG.' /> 5 <cvBtn msg='BLOG' /> 6 </div> 7 </div> 8</template> 9 10 11<script> 12import pageTitle from '@/components/pageTitle.vue' 13import cvBtn from '@/components/cvBtn.vue' 14 15export default { 16 name: 'Blog', 17 components: { 18 pageTitle, 19 cvBtn, 20 }, 21 data () { 22 return { 23 url: '反映されない……' 24 } 25 } 26} 27</script> 28

ご教授いただけますと幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

子コンポーネントから親コンポーネントのデータ直接使用することは原則できません。
親から子にデータを受け渡したいときにはpropsを使用してください。

diff

1<template> 2 <div class="cv-btn"> 3 <p class="btn"><a class="btn-link" v-bind:href="url">{{msg}}</a></p> 4 </div> 5</template> 6 7<script> 8export default { 9 name: 'cvBtn', 10 props: { 11 msg: String, 12++ url: String 13 } 14} 15</script> 16 17<style scoped lang="scss"> 18</style>

diff

1<template> 2 <div class="about"> 3 <div class="l-content"> 4 <pageTitle msg='BLOG.' /> 5-- <cvBtn msg="BLOG" /> 6++ <cvBtn msg='BLOG' :url="url" /> 7 </div> 8 </div> 9</template> 10 11 12<script> 13import pageTitle from '@/components/pageTitle.vue' 14import cvBtn from '@/components/cvBtn.vue' 15 16export default { 17 name: 'Blog', 18 components: { 19 pageTitle, 20 cvBtn, 21 }, 22 data () { 23 return { 24 url: '反映されない……' 25 } 26 } 27} 28</script>

投稿2020/08/22 03:15

編集2020/08/22 03:17
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問