LaravelとVue.jsを使って課題のプロジェクトを作成しています。自力で頑張っていますが、数日間進めなくなってしまったのでお知恵を貸してください。
blade.phpからcomponent.vueのpropsにデータを渡し、それを展開して各項目を表示しています。
例(v-for="item in items") ({{item.name}}{{item.skill}}など)
ボタンをクリックしたら各itemのページに遷移したいのですが、その際にデータのid(item.id)を渡したいのですが、うまくいきません。
php
1blade.php 2 3<div class="index"> 4 <skills-component 5 v-bind:items="{{ $items }}" 6 </skills-component> 7</div>
Java
1SkillsConponent.vue 2 3<template> 4 <div> 5 <div v-for="item in items" :key="item.id"> 6 <div class="detail"> 7 <h3 class="title">{{ item.name }}</h3> 8 <h4 class="skill">{{ item.skill }}</h4> 9 <button v-on:click="goToDetail(item.id)" class="c-button">詳細</button> 10 </div> 11 </div> 12</template> 13 14<script> 15 import axios from 'axios'; 16 export default { 17 props: { 18 items: { 19 type: Array 20 } 21 }, 22 methods: { 23 goToDetail(id) { 24 axios.get('/items/show/' + id) 25 .then(function (response) { 26 console.log(response); 27 }) 28 .catch(function (error) { 29 console.log(error); 30 }); 31 } 32 } 33 } 34</script>
PHP
1web.php 2 3省略 4Route::get('/items/show/{id}', 'ItemsController@show'); 5省略
特にエラーが表示されるわけでもなく、画面は正常に表示されています。クリックしても無反応です。
開発環境
Mac
CentOs
Google Chrome
初心者の初歩的なミスかと思いますが、数日悩んでおりますので、お力をお借りできたら嬉しいです!
回答1件
あなたの回答
tips
プレビュー