使用Vue.js (用于FE的验证)。
页面重载会导致Vuex中的getter在从存储中提取所需数据时失败。getter返回undefined。代码可以在GitHub上找到:https://github.com/tineich/timmyskittys/tree/master/src
有关此问题的详细信息,请访问timmyskittys.netlify.com/stage1。此页包含有关该问题的完整信息以及有关如何查看该问题的说明。
请注意,问题描述中提到了www.timmyskittys.com。这是主站点。timmyskittys.netlify.com是我的测试站点。因此,它们在所有意图和目的上都是相同的。但是,我在Netlify网站上演示了这个问题。
发布于 2019-02-06 02:23:03
我在你提到的网站上看到了完整的一期。这是一种普遍的情况。
例如,对于猫的详细信息,页面url:www.timmyskittys.com/stage2/:id
。
现在,在Per-Route Guard beforeEnter()
中,您可以在存储中设置cat-id
。然后从您的组件中使用cat-id
调用api (从getters读取)
发布于 2019-02-07 02:46:14
我找到了我的问题的解决方案:
我必须移动对操作的调用,该操作调用将.json文件(dbdata.json)加载到App.vue中的computed()的变体。这最初是在Stage1.vue中完成的。
感谢所有人的回复。
发布于 2020-08-10 04:12:11
我也遇到了同样的问题,我的“解决方案”就是做一个计时器,所以给商店一点时间把事情做好,就像这样:
<v-treeview
:items="items"
:load-children="setChildren"
/>
</template>
<script>
import { mapGetters } from 'vuex'
const pause = ms => new Promise(resolve => setTimeout(resolve, ms))
export default {
data () {
return {
children: []
}
},
computed: {
...mapGetters('app', ['services']),
items () {
return [{
id: 0,
name: 'Services',
children: this.children
}]
}
},
methods: {
async setChildren () {
await pause(1000)
this.children.push(...this.services)
}
}
}
</script>
尽管这并不理想,但它是有效的。
https://stackoverflow.com/questions/54540343
复制相似问题