##やりたいこと
画面Aに2つのボタンがあり、押したボタンのIDを画面Bに渡します。
画面BではIDを取得し、v-ifで描写するエリアを決めます。
##現在起こっている問題
画面Bに遷移した際v-ifが反応しません。画面BでF5を押し更新した場合、v-ifが反応して描画されます。
##試したこと
https://qiita.com/computer-penguin/items/658696b27ac57f977d88
https://qiita.com/naoiwata/items/d0ed1f7c2b2718dc94c3
こちらを参考に<script>にbeforeRouteUpdateを実装しようと試してみましたが、
beforeRouteUpdateの書き方が分からず上手くいきませんでした。
##ソースコード
####A画面
vue
1<template> 2 <div class="container"> 3 <h1>メニュー</h1> 4 <td> 5 <router-link v-bind:to="{name: 'no.select', params: {taskId: 1}}"> 6 <a class="btn-square">1. A処理</a> 7 </router-link> 8 </td><p> 9 <td> 10 <router-link v-bind:to="{name: 'no.select', params: {taskId: 2}}"> 11 <a class="btn-square">2. B処理</a> 12 </router-link> 13 </td> 14 </div> 15</template> 16 17<script> 18 export default {} 19</script> 20 21<style scoped> 22</style>
####B画面
vue
1<template> 2 <div class="container"> 3 <h1>コード入力</h1> 4 <h2> 5 <p>[ 01 ~ 20 ]</p> 6 <p>コードを入力</p> 7 </h2> 8 <input @input="validate" v-model="numValue"> 9 <p> 10 <td> 11 <div v-if="this.$route.params.taskId==='1'"> 12 <router-link v-bind:to="{name: 'A.select', params: {taskId: 1}}"> 13 <a class="btn-square">A処理入力画面へ進む</a> 14 </router-link> 15 </div> 16 <div v-else-if="this.$route.params.taskId==='2'"> 17 <router-link v-bind:to="{name: 'B.select', params: {taskId: 1}}"> 18 <a class="btn-square">B処理入力画面へ進む</a> 19 </router-link> 20 </div> 21 <div v-else> 22 想定外のアクセスです。トップページに戻ってください。 23 </div> 24 </td> 25 </div> 26</template> 27 28<script> 29 export default {} 30</script> 31 32<style scoped> 33</style>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。