【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
main.jsのコードが動画では以下のようになっています。
var vm = new Vue({ el: '#app', data: { newItem: '', todos: [ 'task 1','task 2', 'task 3'] }, methods: { addItem: function() { this.todos.push(this.newItem); this.newItem = ''; }
methods の中の this が data を指し示すことになる点が分からず困っています。
直感的には this は methods か vm を指し示すように思えるのですが、 なぜ methods と並列関係にある data を指し示すことになるのでしょうか?
this に対する私の理解が不十分なのは承知していますが、どういう理屈で理解すればいいのか分かりません。 this のスコープに関する認識に誤解があるのでしょうか?
「this.todos」ではなく「todos」と書いただけでは data の中の todosの配列にアクセスできないことから、data と mothodsの間には境界があって{ }ブロックを越えるための橋渡しが必要なのは理解しています。
よろしくお願いします。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
main.jsのコードが動画では以下のようになっています。
methods の中の this が data を指し示すことになる点が分からず困っています。
直感的には this は methods か vm を指し示すように思えるのですが、
なぜ methods と並列関係にある data を指し示すことになるのでしょうか?
this に対する私の理解が不十分なのは承知していますが、どういう理屈で理解すればいいのか分かりません。
this のスコープに関する認識に誤解があるのでしょうか?
「this.todos」ではなく「todos」と書いただけでは data の中の todosの配列にアクセスできないことから、data と mothodsの間には境界があって{ }ブロックを越えるための橋渡しが必要なのは理解しています。
よろしくお願いします。