下記サイトでVue.jsを学習しているのですが、
コードで1点わからないところがあったので質問させてください。
一番最後のCODEPENの内容で
var app = new Vue({ el: '#app', data: { left: 0, right: 0, isComputedCalled: false }, methods: { // この関数が呼び出されたタイミングがわかるように // メッセージを表示させる setMessage: function () { // メッセージを表示 this.isComputedCalled = true const that = this setTimeout(function () { that.isComputedCalled = false }, 1000) // 1秒後にメッセージが消えます } }, computed: { total: function () { this.setMessage() return this.left + this.right } } })
setMessage
メソッドのsetTimeout
内のthat
がわかりません。
Vueインスタンスを参照するのであればthisでいい気がしますし、
const that = this
上記のコードから、実際参照しているのはthisだと思うのですが、
なぜわざわざ代入する必要があるのでしょうか?
実際にthisに変えてみると動作しなかった為そうしなければいけない理由があると
思うのですが、いまいちわかりません。
参考になるサイトなど教えていただけると幸いです。
お手数ですがご確認お願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。