Vue.jsを学習中なのですが、セレクトボックスの挙動で疑問な点があります。
<template> <div> <div> <select v-model="eventData.location"> <option v-for="location in locations" :key="location">{{location}}</option> </select> <p>{{ eventData.location }}</p> </div> </div> </template> <script> import LikeHeader from './components/LIkeHeader'; import About from './components/About'; import Home from './components/Home'; export default { data() { return { number:14, currentComponent:'Home', locations:["東京","大阪","名古屋"], eventData:{ title:"", maxNumber:0, host:"", detail:"", isPrivate:false, target:[], price:"無料", location:"東京", } }; }, components:{ LikeHeader:LikeHeader, About:About, Home:Home, } }; </script>
こちらのコードのselect v-model="eventData.location"
部分のlocation
はdataメソッドのプロパティの「location」を指しており、v-for="location in locations"
のlocation
はdataメソッド内の「locations」配列の一つ一つの要素を指しているかと思います。
その為、2つには関連性が何もないかと思うのですが、セレクトボックスの値を変更すると、<p>{{ eventData.location }}</p>
に表示される値がセレクトボックスに指定した値に変更されます。
こちらは何故このような挙動になるのでしょうか。
アドバイス頂けましたら幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/16 10:11 編集
2020/07/20 00:22 編集