使用Vue.js(FE的Vuetify)。
页面重新加载会导致Vuex中的吸气剂无法从存储中提取所需数据。该getter返回未定义。可以在GitHub上找到代码:https://github.com/tineich/timmyskittys/tree/master/src
请在timmyskittys.netlify.com/stage1上查看有关此问题的完整详细信息。该页面包含有关该问题的完整信息以及如何查看该问题的说明。
请注意,问题说明中提到了www.timmyskittys.com。这是主要站点。 timmyskittys.netlify.com是我的测试网站。因此,它们在所有意图和目的上都是相同的。但是,我有关此问题的演示在Netlify站点上。
答案 0 :(得分:0)
我在您提到的网站上阅读了完整的期刊。这是一个普通情况。
说,关于猫的详细信息页面网址:www.timmyskittys.com/stage2/:id
。
现在,在按路由保护beforeEnter()
中,您可以在存储中设置cat-id
。然后从您的组件使用cat-id
(从吸气剂中读取)调用api
答案 1 :(得分:0)
我找到了解决问题的方法:
我必须移动该动作的调用,该动作调用将将.json文件(dbdata.json)加载到App.vue中的compute()中的变异。最初是在Stage1.vue中完成的。
谢谢大家的回复。
答案 2 :(得分:0)
我遇到了同样的问题,我的“解决方案”是否可以调用它来做一个计时器,以便给商店时间使事情变得正确,就像这样:
<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>
即使这远非理想,它仍然有效。