回答編集履歴
2
サンプル追加
answer
CHANGED
@@ -43,6 +43,9 @@
|
|
43
43
|
|
44
44
|
```
|
45
45
|
|
46
|
+
簡単なサンプル [https://jsfiddle.net/euledge/ev9sn0eg/](https://jsfiddle.net/euledge/ev9sn0eg/)
|
47
|
+
|
48
|
+
thisについての説明記事
|
46
49
|
[JavaScript の this を理解する多分一番分かりやすい説明](https://qiita.com/takkyun/items/c6e2f2cf25327299cf03)
|
47
50
|
|
48
51
|
また、直接質問とは関係ないですがvueJSの開発をされるときは chrome,firefoxのアドオンで `Vue.js Devtools`というものがありますので使ってみると良いと思います。
|
1
回答の誤りの訂正
answer
CHANGED
@@ -21,4 +21,30 @@
|
|
21
21
|
}
|
22
22
|
}
|
23
23
|
});
|
24
|
-
```
|
24
|
+
```
|
25
|
+
|
26
|
+
## 追記(訂正)
|
27
|
+
上記の記載でaxiosで戻ってきた`then`でajaxから受け取ったデータを
|
28
|
+
`this.available_teachers = res.data.available_teachers;`
|
29
|
+
このように記載するように回答しましたが、
|
30
|
+
ここでの`this`は`function(res){}`を指してしまいますね。
|
31
|
+
**javascriptのはまりポイント**です。
|
32
|
+
このようなときはthisを一旦別の変数`下記の例ではself`に退避して使うのが定石です。
|
33
|
+
javascriptの新しい仕様 `ES2015`ではアロー関数という書き方で解決できますがこちらはまた調べてみてください。
|
34
|
+
|
35
|
+
```
|
36
|
+
var self = this;
|
37
|
+
this.$http.post('/ajax/reservation_calender/change_date', data)
|
38
|
+
.then(function(res){
|
39
|
+
self.available_teachers = res.data.available_teachers;
|
40
|
+
}).catch(function(error){
|
41
|
+
alert('送信が失敗しました。');//テストのため
|
42
|
+
});
|
43
|
+
|
44
|
+
```
|
45
|
+
|
46
|
+
[JavaScript の this を理解する多分一番分かりやすい説明](https://qiita.com/takkyun/items/c6e2f2cf25327299cf03)
|
47
|
+
|
48
|
+
また、直接質問とは関係ないですがvueJSの開発をされるときは chrome,firefoxのアドオンで `Vue.js Devtools`というものがありますので使ってみると良いと思います。
|
49
|
+
vueの data{}の中の変数の値を見たり、設定したりできます。私も今手放せないツールの一つです。
|
50
|
+
[Vue.js Devtoolsの導入方法と機能まとめ。Vue.jsを用いた開発を効率化させよう!](https://qiita.com/hashimoto-1202/items/c81f5d4c271eef16d957)
|