3-Vue网络应用

Vue
406
0
0
2022-12-12

Vue网络应用

axios基本使用

axios是一款易用、简洁且高效的http库,是一个可以用在浏览器和Node.js中的 异步通信框架,其主要作用就是实现Ajax异步通信,由于Vue只关注视图层内容,所以作者推荐使用该框架完成 网络通信内容

axios功能特点

  • 从浏览器中创建XMLHttpRequests
  • 从node.js创建http请求
  • 支持Promise API(在JS中进行链式编程)
  • 拦截请求和相应
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防御XSRF

Vue实例的生命周期

每一个Vue实例都拥有完整的生命周期,即从开始船舰,初始化数据,编译模板,挂载DOM,渲染以及之后的不断更新渲染直到最后的卸载一系列过程,也就是一个Vue实例从创建到销毁的整个过程

在Vue实例的生命周期中,提供了一系列事件,可以让我们在事件触发时,注册相应的JS方法,利用我们注册的JS方法,更好的控制整个Vue实例(在这些事件响应方法中的this直接指向的是Vue实例),这些JS方法也被称为钩子,下面这幅图中展示了Vue的整个生命周期以及对应位置可以使用的钩子函数

img

<!DOCTYPE html>
<html lang="en">
<head> 
    <meta charset="UTF-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <title>Vue Test</title>

    <!--解决标签闪烁问题--> 
    <style>
        [v-clock]{
            display: none;
        }
    </style>
</head>
<body> 
    <div id="vue" v-clock> 
        <!--将获取到的值在页面进行展示--> 
        <p>username: {{info.username}}</p> 
        <p>user's url: {{info.url}}</p> 
        <p>user's password: {{info.pwd}}</p> 
        <p>result boolean: {{info.boolean}}</p> 
        <p>user's school: {{info.sch}}</p> 
    </div>
    
    

    <!--利用cdn导入axios与vue--> 
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script> 
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>


    <!--定义Vue实例--> 
    <script> 
        var app=new Vue({
            el: "#vue",
            data: {
            },
            //注意这里使用的是data(){}方法,用于获取返回值数据, 
            //与上面定义的data数据域并不相同 
            data(){
                return{
                    //请求的参数格式必须与数据格式一致才能正常获取 
                    info:{
                        "username": null,
                        "url": null,
                        "pwd": null,
                        "boolean": null,
                        "sch": null,
                        "List": []
                    }
                }
            },
            mounted(){ //钩子函数 支持链式变成 
                //通过axios进行网络操作,这里首先进行get操作请求相应数据,通过then方法获取相应结果, 
                //利用response将响应值赋给Vue实例中的相应对象
                axios.get("test.json").then(response=>(this.info=response.data))
            }
        })
    </script>
</body>
</html>