【问题标题】:vue, vuex: load temporary child collectionvue,vuex:加载临时子集合
【发布时间】:2018-07-25 21:54:24
【问题描述】:

这是一个 vue/vuex 应用,我们有一个对象:myObject,它有一组子对象:myObject.kids

.kids在vuex初始加载对象时没有加载。

现在我想创建一个适用于.kids 的组件。

针对这种情况的 vue/vuex 方法是什么?

我应该创建一个根级集来容纳孩子,还是有办法将它们(通过 ajax)加载到商店中已经存在的 myObject 中?

【问题讨论】:

    标签: vue.js vuex


    【解决方案1】:

    你可以做任何你想做的事,通过 ajax 加载它,如果它在组件加载时不存在,则创建该属性,等等。然而,最重要的部分是创建一个响应式属性。我会推荐以下内容:

    this.$store.commit('SET_KIDS', payload)
    

    这将转化为您的商店中接收有效负载的突变:

    Vue.set(state.myObject, 'kids', payload)
    

    这很重要,因为属性需要是响应式的,才能被观察到,并且商店才能记录对属性的更改。

    【讨论】:

    • 我会试一试。如果myObject.kids 以未定义的方式开始生命,那么Vue.set(state.myObject, 'kids', payload) 仍然会导致它变得被动吗?
    • @mtyson 是的。它将在您的状态下创建该对象的反应属性。
    猜你喜欢
    • 2020-04-30
    • 2020-05-19
    • 2017-07-30
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 2010-11-24
    相关资源
    最近更新 更多