質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

2203閲覧

キャッシュということについて

退会済みユーザー

退会済みユーザー

総合スコア0

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2019/06/12 05:29

編集2019/06/12 05:42

vuex getterのドキュメント

こちらで、引数なしの時はキャッシュされてありの時はされない。

とありますが、よく意味が分かりません。

例えば、引数なしの何らかのgetterをcomputedプロパティに登録してて、その値をviewにバインドしてた場合、そのgetterからの返り値が変更されたらviewはそれに従った更新がされる。
これは分かるんですけどキャッシュされるとはこのことでしょうか。

そして引数ありのゲッターってただのメソッドみたいな動き方をしますよね。
これがキャッシュされないということなのでしょうか。

なんか引数なしのgetterは常に監視されてるようなイメージというか。
キャッシュされるとはこのことなのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mather

2019/06/12 08:15

よく意味がわからない、というのは具体的に何がわからないのでしょうか? - キャッシュという言葉の意味がわからない - なぜキャッシュされるのかということを知りたい - 何が起こっているのか、どういう挙動をするのかというイメージがわかない - 自分で実装した内容で引っかかったポイントがあるので、今後のために詳しくなっておきたい
退会済みユーザー

退会済みユーザー

2019/06/13 01:19

失礼いたしました。 どちらかというと、キャッシングという言葉の意味が分からないです...。
guest

回答1

0

ベストアンサー

この辺読めば分かるかも。

投稿2019/06/12 06:58

shozi3

総合スコア691

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/06/13 01:23

なるほどです、ありがとうございます。 これってつまりcomputedの方がmethodより更新のタイミングが適所になっていて効率がいいということでしょうか。 しかし、逆にキャッシングしたくない場合?ってあるのでしょうか...。 reverseMessage: function () { return this.message.split('').reverse().join('') } これをviewの方にバインドしてて、computedじゃなくてmethodでやった方がいいパターンとかって逆にあるのでしょうか
shozi3

2019/06/13 02:59

Vueは内部的に仮想DOMを持っていて更新は必要最低限になるように設計されていますが、フレームワークとして強制的に更新する手段も提供していないと片手落ちになるからじゃないでしょうか。
退会済みユーザー

退会済みユーザー

2019/06/13 04:50 編集

ありがとうございます...。 むしろcomputedでやってれば常に強制的に更新されるし効率的ですよね。 <p>Reversed message: "{{ reverseMessage() }}"</p> // コンポーネント内 methods: { reverseMessage: function () { return this.message.split('').reverse().join('') } } このパターンは返り値が変わってなくても実行されると関数が走る。 そしてこれが実行されるタイミングが再描画される時、となると、上のパターンのバインドはメリットがなさすぎるし使いづらい、と思いました。 上のパターンだとcomputedでやった方が良いですよね。 どうなんだろう。 methodはmethodとして当然価値があるけど例えば、返り値をリアクティブにかつ効率的にviewにバインドするならcomputedの方が良いというかcomputedじゃないと実現できないですよね。
shozi3

2019/06/13 05:11

そうですね。 公式ドキュメントにあるようにコンソールを開いてインタラクティブに動作を確認してみれば理解が早いと思います。
退会済みユーザー

退会済みユーザー

2019/06/13 23:58

ありがとうございます。 そうですね。 あともう1つお聞きしたいんですけど、この場合でいうキャッシュとはどのような意味なのでしょうか。
shozi3

2019/06/14 06:08

一時的に保持されるということです。
退会済みユーザー

退会済みユーザー

2019/06/17 04:12

なるほです,,,。イメージ湧きました。たくさん答えてくださりありがとうございました(>___<)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問