Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue在获取数据之前未定义数据_Javascript_Vue.js_Vue Component_Vue Router - Fatal编程技术网

Javascript Vue在获取数据之前未定义数据

Javascript Vue在获取数据之前未定义数据,javascript,vue.js,vue-component,vue-router,Javascript,Vue.js,Vue Component,Vue Router,我对一些数据有问题。 当我加载仪表板时,它会给我一个错误,即它无法读取未定义的数据量。 当我重新加载页面时,它会工作。 所以这是我登录的地方,数据不起作用。 但在重新加载时,它应该如何工作 在这两个组件中的图表之前,我尝试过使用v-if,并尝试定义一个对象并在图表组件中填充它。然后说“如果”。什么都不管用。有人能帮忙吗 我有3个组件 登录(成功登录时组件推送到仪表板) 仪表板(具有导入图表的组件) 图表(以下是生成的图表) 登录:在这里我登录并将路径推送到仪表板 <template>

我对一些数据有问题。 当我加载仪表板时,它会给我一个错误,即它无法读取未定义的数据量。 当我重新加载页面时,它会工作。 所以这是我登录的地方,数据不起作用。 但在重新加载时,它应该如何工作

在这两个组件中的图表之前,我尝试过使用v-if,并尝试定义一个对象并在图表组件中填充它。然后说“如果”。什么都不管用。有人能帮忙吗

我有3个组件

  • 登录(成功登录时组件推送到仪表板)
  • 仪表板(具有导入图表的组件)
  • 图表(以下是生成的图表)
  • 登录:在这里我登录并将路径推送到仪表板

    <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是唯一的方法。