【问题标题】:Do I need to use a vuex for recording markup data?我需要使用 vuex 来记录标记数据吗?
【发布时间】:2017-02-21 22:04:03
【问题描述】:

我仅将 vuex 状态用于包含 用户数据。我是否需要存储包含打开或关闭面板的数据属性?

下面有一段代码..

const state = {
user: {
    id: -1,
    name: '',
    authenticated: false,
    avatar_url: '',
},

和标记

<h5 class="text-subhead-2 text-light">Some text</h5>
    <div v-for="elem in elements" class="panel panel-default open" data-z="0.5">
                 //list of elements below

或者我可以使用 vuex 反应性来满足我的所有要求?

【问题讨论】:

  • 一般来说,如果一个以上的组件需要它,则将其存储在 Vuex 中。如果只有该组件需要,则将其存储在组件的data 中。在这种情况下,非 Vuex 可能是正确的。

标签: vue.js vuex


【解决方案1】:

虽然@ceejayoz 在 cmets 中有一个有效的观点,但我想提供另一个角度来说明我们如何查看(双关语)。

我不知道您的应用程序的规模,但由于“打开/关闭”是一个标志(一个状态),因此 Vuex 似乎是一个适合它的好地方。也许有一天您想开始跟踪一些(任何)交互或其他组件将变得依赖于面板的关闭/打开状态。然后,其他组件或跟踪器可以简单地关注状态(Vuex),而不是让面板组件发出事件。

现在,YAGNI 原则始终存在,这就是我提出应用程序规模的原因。但是我已经用一种状态管理器设置了我所有的 Vue 应用程序,因为它使以后组件到组件的通信变得轻而易举。对 Vuex 有利的另一点是它已经是您项目的一部分,因此甚至不需要集成它,只需将其扩展为您的应用程序的内部状态即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-14
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多