ホームページ  >  に質問  >  本文

JavaScript - vueのstateの値を変更する

アクションが非同期処理を処理することは知っています。非同期操作はありません。つまり、ボタンをクリックした後、アクションや変更を行わずに、状態の値がメソッド内で直接変更されるということです。これは準拠していますか? vueの仕様?

迷茫迷茫2662日前961

全員に返信(1)返信します

  • 过去多啦不再A梦

    过去多啦不再A梦2017-07-05 10:53:19

    ミューテーションメソッドを直接呼び出したり、状態属性を直接変更したりできないのに、コミットを通じてミューテーションを送信する必要がある理由について?公式ドキュメントからの引用:

    もう一度言いますが、状態の変化をより明確に追跡したいため、store.state.count を直接変更するのではなく、突然変異を送信します。この単純な規則により、意図がより明確になるため、コードを読み取るときにアプリケーション内の状態変化をより簡単に解釈できます。さらに、これにより、すべての状態変化を記録し、状態スナップショットを保存できるデバッグ ツールを実装する機会も得られます。これを使用すると、タイムトラベルのようなデバッグ体験を実現することもできます。
    ストア内の状態は応答性があるため、コンポーネント内のストア内の状態を呼び出すことは、計算されたプロパティで返すのと同じくらい簡単です。変更をトリガーするには、コンポーネントのメソッドでミューテーションを送信するだけです。

    vuex を設計するときに、状態の変化を追跡するために、ミューテーションによってトリガーされたデータの変更を送信するには commit を使用する必要があることが合意されていることがわかります。 Vue Devtools と呼ばれる公式の vue デバッグ プラグインを試してみると、コンポーネント、データ、vuex などを直接確認でき、変更を追跡することもできます。

    返事
    0
  • キャンセル返事