【问题标题】:setup VueJS get data设置 VueJS 获取数据
【发布时间】:2021-08-02 13:06:44
【问题描述】:

我无法获取数据。 我使用 axios 获取数据并使用 console.log 打印它们,这是我在控制台中的内容:

我看到了我的数据和长度,但我没有成功在我的代码中使用它们。我想以 for 为例:

for(var i; i<temp.length; i++){
        console.log(temp.name)
      }

这不起作用,因为 temp.lenght 给出 0。或者我只想打印我的第一个参数 name: MONITOR ... 但我也没有成功。

你知道我们是怎么做到的吗?

这里是我的其余代码:

setup() {
    const temp=[];
    onMounted(() => {
      axios.get('http://localhost:8080/data/mock.json')
          .then((data) => (temp.value = data.data.data))
      console.log(temp)
      for(var i; i<temp.valueOf().length; i++){
        console.log(temp.name)
      }
    });
return{temp}
}

【问题讨论】:

    标签: vue.js vuejs3


    【解决方案1】:

    您应该将 for 循环放在 then 回调中并使用 ref 来初始化 temp :

    import {ref} from 'vue'
    ...
    setup() {
        const temp=ref([]);
        onMounted(() => {
          axios.get('http://localhost:8080/data/mock.json')
              .then((data) => {
                 temp.value = data.data.data
                   for(var i; i<temp.value.length; i++){
                       console.log(temp.name)
                    }
    
              })
          console.log(temp)
        
        });
    
    
       return{temp}
    }
    

    【讨论】:

    • 谢谢,我刚刚在 for 中添加了 temp.value[i].name,现在完美了,谢谢
    猜你喜欢
    • 2017-08-20
    • 2017-05-28
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 2020-11-20
    • 2018-02-15
    相关资源
    最近更新 更多