【问题标题】:How to toggle a view based on a state in vuex?如何根据 vuex 中的状态切换视图?
【发布时间】:2017-11-05 03:10:33
【问题描述】:

我有一个按钮<Button> Log me in! </Button>,我想根据我当前的 vuex 应用程序的状态更改它的 css 类。 (state.user 不为空)

编写此代码的正确方法是什么?

我可以在状态中创建一个字段,即该视图的类名,并在操作/突变中相应地更改它。但是我应该把这个逻辑放在更好的地方吗?由于这个字段完全依赖于组件,我认为它不应该“泄漏”到全局状态。

【问题讨论】:

    标签: javascript vue.js vuex


    【解决方案1】:

    只需使用典型的对象绑定语法。

    <button :class={someClass: !$store.state.user}>Log me in!</button>
    

    或者在 Vuex 中定义一个 getter 并在你的类定义中使用它。

    【讨论】:

    • 我猜 v-show 更简单,但我的问题不够具体。这行得通!谢谢
    • @user1017674 当然,如果您想显示/隐藏,那么使用state.userv-showv-if 可能更清晰。
    【解决方案2】:

    我认为正确的方法是使用计算函数并以这种方式绑定 v-show 指令。

    【讨论】:

      猜你喜欢
      • 2018-03-27
      • 2023-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      • 1970-01-01
      • 2014-09-01
      • 2021-11-23
      相关资源
      最近更新 更多