vueでdataに渡した配列の要素をHTMLで表示したいのですが、
以下のような記述では表示できないのですが
どういった制限があるのでしょう?
[0]
を指定せず、data.array
を指定した際には["XXX", "YYY", "ZZZ"]
と取得できるので原因が気になります。
HTML
1<div id="app"> 2 <!-- 表示される --> 3 {{data.array}} 4 5 <!-- エラーになる --> 6 {{data.array[0]}} 7</div> 8 9<script> 10const obj = { 11 id: "obj001", 12 array: [ 13 "XXX", 14 "YYY", 15 "ZZZ", 16 ], 17}; 18 19const myApp = { 20 data() { 21 return { data: "" }; 22 }, 23 mounted() { 24 this.data = obj; 25 }, 26}; 27const app = Vue.createApp(myApp); 28app.mount("#app"); 29</script> 30
成功する記述
以下のように記述すると問題なく表示されるのですが、
配列の要素をHTMLから取得する場合は、
data()に予め配列用のプロパティを準備するのが必須なのでしょうか?
HTML
1<div id="app"> 2 <!-- 表示される --> 3 {{myArray[0]}} 4</div> 5 6<script> 7const myApp = { 8 data() { 9 return { 10 data: "", 11 myArray: [] 12 }; 13 }, 14 mounted() { 15 this.data = obj; 16 this.myArray = obj.array; 17 }, 18}; 19const app = Vue.createApp(myApp); 20app.mount("#app"); 21</script> 22
※Vueはバージョン3です
alert(data);でデバックしてみて
undefinedと表示されないでしょうか?
