回答編集履歴
1
内容修正
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
---
|
4
4
|
|
5
|
-
**
|
5
|
+
**公式のサンプル**
|
6
6
|
|
7
7
|
アプリの起動(`new Vue({...})`)から以下の動作になります。
|
8
8
|
|
@@ -38,6 +38,11 @@
|
|
38
38
|
---
|
39
39
|
|
40
40
|
両者の違いは「コンポーネントをマウントした時、`localStorage`の値を`name`に代入し、フォームに表示しているか」です。
|
41
|
+
|
42
|
+
公式のサンプルでは、`mounted()`が呼ばれた際には(5)の挙動が1回目は無駄な動作になります。
|
43
|
+
もとをたどれば、`localStorage.name`を`this.name`に代入して、その値を再度`localStorage.name`に代入しているからです。
|
44
|
+
ただし、2回目以降は「フォームの値に基づいて`localStorage.name`を更新する」意味のある記述になります。
|
45
|
+
|
41
46
|
ma7ma7pipipiさんのコードでは、例えば2回目以降のアクセスで`localStorage`の値があったとしてもフォームに表示されないので、保存しておく意味が意味が(少なくとも今回の場面では)ないと思います。
|
42
47
|
|
43
48
|
また、ma7ma7pipipiさんのコードでは、(2)でコンポーネントのデータを更新しているにもかかわらず、(4)で再度代入していますが、これは無駄な動作です。`watch`で設定する関数は「データが更新された時に呼ばれる」関数であるからです。
|