Axios异步通信
网络通信可以使用jQuery,但是vue是一个视图层框架,作者比较遵守Soc原则,所以vue不包含Ajax异步通信功能,为了解决通信功能,就开发了vue-resource插件,但是这个插件停止了更新,就推荐使用了这个框架,少用jQuery,因为操作Dom太频繁了
Axios是一个开源的可以使用在浏览器端和NodeJS的异步通信框架,主要作用是实现Ajax异步通信
- 从浏览器创建异步请求XML Http Requests
- 从Node.js创建http请求
- 支持PromiseAPI
- 拦截请求和响应
- 转换请求数据和响应数据
- 取消请求
- 自动住那换JSON数据
- 客户端支持防御XSRF(跨站请求伪造)
Vue的生命周期:钩子函数
Vue的实例有一个完整的生命周期,创建、初始化数据、编译模板、挂在Dom、渲染、更新、渲染、卸载等一系列过程
就是从Vue实例从创建到销毁的过程就是Vue的生命周期
Vue的生命周期中提供了一系列的事件,让我们在事件触发时注册JS方法,可以让我们自己注册的JS方法控制整个大局,这些事件响应方法中this直接指向的是Vue的实例
举的一个列子是,当运行Vue对象时,初始化到渲染中间是有一大段空闲的,在这些间隙中挂载钩子,来执行一些命令
-
如何使用
-
GitHub
-
在线cdn
-
要使用ES6规范,ES5写不了这个代码、
-
<body> <div id="vue"> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script type="text/javascript"> var vm = new Vue({ el:'#vue', mounted(){ axios.get("data.json").then(Response=>(console.log(Response.data))); } }); </script> </body>
-
{ "name": "haoyun", "url": "https://www.baidu.com", "page": 1, "address": { "street": "东咀", "city": "珠海", "country": "中国" } }
-
<body> <div id="vue" v-clock> {{info.address.street}} {{info.name}} <a v-bind:href="info.url">百度</a> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script type="text/javascript"> var vm = new Vue({ el:'#vue', data(){ return{ info:{ name:null, url:null, page:null, address:{ street:null, city:null, country:null } } } }, /*钩子函数*/ mounted(){ axios.get("data.json").then(Response=>(this.info=Response.data)); } }); </script> </body>
-
可以从axios官网学习