Javascript Vue叫喊对象未定义,同时它在需要加载它的作用域中

Javascript Vue叫喊对象未定义,同时它在需要加载它的作用域中,javascript,vue.js,vuejs2,frontend,Javascript,Vue.js,Vuejs2,Frontend,我想做一些类似的事情: []中的foreach行 解析(行) 返回div,其中填充ID、类名等 显示该报税表 但由于某种原因,我收到了错误 [Vue warn]:呈现错误:“TypeError:this.json[index]未定义” 如果booldataisloaded能够确保它被加载,那怎么可能呢 console.log(index)返回例如0,因此index具有适当的值。是否应该改为this.json.data[index]?这个.json到底是什么?顺便说一句:你不

我想做一些类似的事情:

  • []中的foreach行
    • 解析(行)
      • 返回div,其中填充ID、类名等
    • 显示该报税表
但由于某种原因,我收到了错误

[Vue warn]:呈现错误:“TypeError:this.json[index]未定义”

如果booldataisloaded能够确保它被加载,那怎么可能呢



console.log(index)返回例如0,因此index具有适当的值。

是否应该改为
this.json.data[index]
?这个.json到底是什么?顺便说一句:你不应该把它命名为json,因为它是一个对象,而不是json;
json.data
键在
json
@str中不存在,我是个白痴,谢谢。请把它写下来作为答案,这样我就接受了。
<div id="app" v-if="dataIsLoaded">
    <div v-for="(obj, index) in json.data">
        {{ parse(index) }}
    </div>
</div>

el: '#app',
data: {
    json: null,
    dataIsLoaded: false
},
beforeCreate: function () {
    fetch("api")
      .then(r => r.json())
      .then(json => {
          this.json = json;
          this.dataIsLoaded = true;
      });
},
methods:
{
    parse: function(index)
    {
        var type = this.json[index].name;
        var body = this.json[index].age;

        (...)

        return ...
    }
}
<div id="app" v-if="dataIsLoaded">
    <div v-for="(obj, index) in json.data">
        {{ index }}{{ obj }}
    </div>
</div>
parse: function(index)
{
    console.log(index);
    var type = this.json[index].name;
    var body = this.json[index].age;

    (...)

    return ...
}