当前位置: 首页 > 知识库问答 >
问题:

使用 VueX 将数据获取到子组件时出现问题

欧阳炜
2023-03-14
<template>
...
<note-info></note-info>
<note-list></note-list>
...
</template>

我用VueX,store.js

export default {
    state: {
        noteDataList: [],
    },
    mutations: {
        setNoteDataList: function (state, payload) {
            state.noteDataList = payload;
        },
    }
};

注释列表组件:

...
created() {
   const note_list = [{id: 1, name: "Monday"},{id: 2, name: "Tuesday"}]
   this.$store.commit("setNoteDataList", note_list);
}
...

注释信息组件:

...
computed: {
   ...mapState(['noteDataList'])
},
mounted() {
   console.log(this.$store.state.noteDataList[0]);
},
...

备注信息组件无法从备注列表中获取第一个对象

共有1个答案

胡飞鹏
2023-03-14

存在竞争条件,兄弟组件不能期望指定的执行顺序。它们可能会按照它们在模板中出现的顺序进行实例化,但这并不保证,也不应依赖于此。

负责显示子组件的逻辑(setNoteDataList等)可以移动到父组件,特别是如果它是同步的。

或者,访问< code>noteDataList的组件不应该期望它在实例化时准备好,而是需要通过计算的属性或观察器将它视为反应值。

 类似资料:
  • 我正在通过Vuex商店中的axios从外部API获取数据,它为我提供了一个包含对象的数组——比方说——。 每个都有一个,我需要用它获取城市详细信息。我想将这个details对象作为一个新键添加到数组中。 现在我正在获取所有城市,并使用另一个Vuex操作获取城市详细信息。 所有城市的行动 获取所有城市后的变异 数组中的每个对象都有一个,我正在用它获取这个城市的详细信息。 我试图在动作中循环数组,以获

  • 本文向大家介绍vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据,包括了vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据的使用技巧和注意事项,需要的朋友参考一下 在vue项目中组件间相互传值或者后台获取的数据需要供多个组件使用的情况很多的话,有必要考虑引入vuex来管理这些凌乱的状态,今天这边博文用来记录这一整个的过程,后台api接口是使用webpac

  • 我们有自定义密钥类型的ignite缓存,即带有属性的Person key、人名和人姓以及自定义值类型的Person Info、带有属性的Person Address和Person Age等。这些类是在Java中定义的,缓存是在Bean文件中配置的,并使用CacheJDBCPOJO Store加载的。 由于这些类在节点js中不可用,我们如何使用cahe.put/cache.get.从节点js加载/提

  • 我正在创建一个JavaFX应用程序,我已经很好地连接到了数据库。然而,当我从表中获取数据时,我得到了一个错误 组织。h2.jdbc。JdbcSQLException:未找到表“touch”;SQL语句:从讲座[42102-192]中选择名称 我100%确定我连接到数据库并且表肯定在那里,对为什么会这样有任何建议吗? hear是我的连接代码和我正在运行的代码,以便您可以看到 和正在运行的查询

  • 实际行为:不连接weblogic服务器,抛出错误,不加载java插件: java插件:cjni_create_jvm:JNI_CreateJavaVM状态-1失败。 [2017-05-04 04:23:34]java插件:cjni_thread_attach:cjni_create_jvm失败。[2017-05-04 04:23:34]java插件:找到LoadPlugin'行位于java'初始化

  • 这是我在调试控制台中得到的错误: 也是的,我已经应用了谷歌依赖项。 失败:生成失败,出现异常。 > 其中:Script“C:\flutter\packages\flutter_tools\gradle\flutter.gradle”行:358 错误:配置项目':cloud_firestore_web'时出现问题。 请访问https://help.gradle.org获取更多帮助 生成在3s中失败