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の間には境界があって{ }ブロックを越えるための橋渡しが必要なのは理解しています。
よろしくお願いします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?