
調べたところfilterの第二引数は配列のインデックス番号を入れるようですが、以下のコードのfilter(,this);がなんなのかよくわかりません。
どうしてthisを使わないといけないのでしょうか?
HTML
1<!DOCTYPE html> 2<html> 3 <head> 4 <title>Vue.js sample</title> 5 <meta charset="utf-8"> 6 <link rel="stylesheet" href="style.css" > 7 <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script> 8 </head> 9 <body> 10 <div id="app"> 11 <input v-model="findWord"> 12 <ul> 13 <li v-for="item in findItems"> {{ item }}</li> 14 </ul> 15 </div> 16 17 <script> 18 new Vue({ 19 el: '#app', 20 data: { 21 findWord: '', 22 items:['桃太郎','花咲か爺さん','浦島太郎','かぐや姫','かちかち山'] 23 }, 24 computed: { 25 // this.findWordが変わったら、その文字が含まれるリストを算出する 26 findItems: function() { 27 if (this.findWord) { 28 return this.items.filter(function(value) { 29 return (value.indexOf(this.findWord) > -1); 30 },this); 31 } else { 32 // this.findWordが空のときは、リストをそのまま返す 33 return this.items; 34 } 35 } 36 } 37 }) 38 </script> 39 </body> 40</html> 41

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/05/21 05:31