Javascript Vue在获取数据之前未定义数据
我对一些数据有问题。 当我加载仪表板时,它会给我一个错误,即它无法读取未定义的数据量。 当我重新加载页面时,它会工作。 所以这是我登录的地方,数据不起作用。 但在重新加载时,它应该如何工作 在这两个组件中的图表之前,我尝试过使用v-if,并尝试定义一个对象并在图表组件中填充它。然后说“如果”。什么都不管用。有人能帮忙吗 我有3个组件Javascript Vue在获取数据之前未定义数据,javascript,vue.js,vue-component,vue-router,Javascript,Vue.js,Vue Component,Vue Router,我对一些数据有问题。 当我加载仪表板时,它会给我一个错误,即它无法读取未定义的数据量。 当我重新加载页面时,它会工作。 所以这是我登录的地方,数据不起作用。 但在重新加载时,它应该如何工作 在这两个组件中的图表之前,我尝试过使用v-if,并尝试定义一个对象并在图表组件中填充它。然后说“如果”。什么都不管用。有人能帮忙吗 我有3个组件 登录(成功登录时组件推送到仪表板) 仪表板(具有导入图表的组件) 图表(以下是生成的图表) 登录:在这里我登录并将路径推送到仪表板 <template>
<template>
<button @onclick="login()"> Login </button>
</template>
<script>
heres the login functions that initialize the session i fill with
user data.
</script>
登录
下面是初始化我填写的会话的登录函数
用户数据。
仪表板:我在这里用我想要的数据填充会话
<template>
<p v-if="company.thirtydayScore"> {{company.thirtydaysscore}} </p>
<chart> </chart>
</template>
<script>
data(){
company{
thirtydaysScore: null
amount: null and so on
}
},
async beforeMount () {
await this.fetchData()
await this.$eventHub.$emit('runToday')
}
methods: {
fetchData(){
heres api call and fetching of data
this.company = response.data
this.$session.set('data', this.company)
}
}
</script>
{{company.thirtydaysscore}
数据(){
公司{
30天存储:空
金额:空,依此类推
}
},
异步预装载(){
等待此消息。fetchData()
等待此消息。$eventHub。$emit('runToday'))
}
方法:{
fetchData(){
这里是api调用和数据获取
this.company=response.data
this.$session.set('data',this.company)
}
}
<template>
<myChart> </myChart>
</template>
<script>
data(){
company{
thirtydaysScore: null
amount: null and so on
}
},
async beforeMount () {
var self = this
await this.$eventHub.on('runToday'){
self.fillData()
}
}
methods: {
fillData(){
here do i fill the data i use in charts from this.$session.get('data')
}
}
</script>
数据(){
公司{
30天存储:空
金额:空,依此类推
}
},
异步预装载(){
var self=这个
等待此消息。$eventHub.on('runToday'){
self.fillData()
}
}
方法:{
fillData(){
在这里,我要填写我在此.session.get('data')的图表中使用的数据
}
}
chart hastebin:我不确定我的问题是否完全相同,但我在vee validate中经常遇到这个错误。似乎启动数据和组件之间不匹配。可能会有更好的解决方案,但我总是非常务实地使用
v-if=“company&&company.amount”
解决这些错误,这是您实际使用的代码吗?数据不应该返回函数吗?像这样:data(){return{company:{amount}}}
i已经链接了hastebin;)@安德森·曼拉森是的,在我发布了《哈哈》后看到了。我觉得不错。没有线索。我认为您需要使用vue devtools对此进行调试,以查看出错时数据中的实际内容。乍一看,代码似乎不错,所以devtools是唯一的方法。