axios获取的数据怎么渲染到页面?为什么我的这个没用

来源:3-1 准备工作说明

毛Bing

2018-12-08

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="../style/compStyle/index.css">
</head>
<body>
    <div id="app">
        <div class="header">
            <h1>{{message}}</h1>
        </div>
        <ul>
            <li v-model="todos" v-for="item in todos" :key="item">{{item.name}}</li>
        </ul>
        <li @click="getAxios">
            Axios
        </li>
    </div>
    <script src="../node_modules/vue/dist/vue.min.js"></script>
    <script src="../node_modules/axios/dist/axios.min.js"></script>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                message: '哈哈哈',
                todos:[]
            },
            methods:{
                getAxios(){
                    if(axios){
                        console.log('Axios')
                        axios.get('./app.json')
                        .then((res)=> this.getDate(res))
                        .catch(function (error) {
                            console.log(error)
                        })
                    }else{
                        console.log('无')
                    }
                },
                getDate(res){
                    console.log(res)
                    res = res.data
                    if (res.ret && res.data) {
                        const data = res.data
                        this.todos = data.todos
                    }
                }
            },
            mounted(){
                this.getAxios()
            }
        })
    </script>
</body>
</html>


下面这个是json数据

{
    "todos":[
        {
            "name": "Vue",
            "sex" : "M",
            "age" : "5"
        },
        {
            "name": "React",
            "sex" : "W",
            "age" : "10"
        }
    ]
}
写回答

1回答

Sam

2018-12-09

你好,代码逻辑没什么问题,可以看下报错信息吗?

如果没有报错,可以分段检查程序运行结果,首先看axios.get()后能不能获取到response响应,如果能获取到检查this.todos的值是否能够获取到。

0
3
毛Bing
回复
Sam
好了,我把res = res.data 删了。谢谢
2018-12-10
共3条回复

Vue 实战商业级读书Web APP完整项目

Vue全家桶+最新前端技术+前后端分离架构,完整项目流程

1610 学习 · 1951 问题

查看课程