JavaScript初心者です。Vue.jsのコードを見ていて疑問に思ったことがあるので質問します。
「methodsの関数内でdata関数内の変数にアクセスする方法」について調べていると、以下のコードが見つかりました。
javascript
1data: function () { 2 return { 3 questions: [], 4 sendButtonDisable : false 5 } 6 7 }, 8 9 methods: 10 { 11 postQuestionsContent : function() 12 { 13 var that = this; 14 that.sendButtonDisable = true; 15 } 16 }
https://stackoverflow.com/questions/36176073/what-is-vue-way-to-access-to-data-from-methods より抜粋
メソッドの関数内では、一度、thisを変数に格納して、that.XXXの形で代入しています。
-
this.XXXの形では、thisが関数そのものを指してしまう(ここでは、postQuestionContent)から代入できないのでしょうか?
-
なぜ、一度格納すると代入できるしょうか?1.と同じ結果になる気がしてしまいます。
-
this.$data.sendButtonDisableでも同様のことが可能だとありますが、ESLintではエラー?扱いになっていました($dataが定義されてない)。どちらのほうが一般的でしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/09/25 15:29 編集
2018/09/25 15:50