vue生命周期
生命周期:指Vue实例创建,运行到销毁期间,总是伴随着各种各样的事件,这些事件统称为生命周期。
生命周期钩子:生命周期事件(函数)。
主要分类:
创建期间的生命周期函数:
-
beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好data和methods属性。
-
created:实例已经在内存中创建,此时data和methods已经创建,此时还没有开始编译模板。
-
beforeMount:此时已经完成了模板的翻译,但是还没有挂载到页面中。
-
mounted:此时已经将编译好的模板,挂载到了页面的容器中显示。
运行期间的生命周期函数:
-
beforeUpdate:状态更新之前执行此函数,此时data中的状态是最新的,但是界面上显示的数据还是旧的,因为此时还没有开始重新渲染Dom节点。
-
updated:实力更新之前执行此函数,此时date
中的状态值是最新的,但是界面上显示的数据还是旧的,因为此时还没有开始重新渲染Dom节点。
销毁期间的生命周期函数:
-
beforeDestroy:实例销毁之前调用,在这一步,实例完全可用。
-
destroyed:Vue实例销毁之后调用。调用后,Vue实例知识的所有东西都会解绑定。所有的事件监听都会被移除,所有的子实例也会被销毁。
vue-resource 实现 get,post,json请求
全局Vue
Vue.http.get('/someUrl',[options]).then(successCallback,errorCallback);
Vue.http.post('/someUrl',[body],[options]).then(successCallback,errorCallback);
Vue.jsonp('http://......').then( data => {
console.log(data);
})
Vue实例中
this.$http.get('/someUrl',[options]).then(successCallback,errorCallback);
this.$http.post('/someUrl',[options]).then(successCallback,errorCallback);
this.$jsonp('http://......').then( data => {
console.log(data);
})
[options]为可选参数,通过then获取服务器返回数据,successCallback为访问成功回调函数,必须设置。、
post第三个参数最好设置为{emulateJSON:true}设置的内容为普通表单数据格式。(emulateJSON可全局配置)
实例
this.$http.get("http://127.0.0.1:3000/del?n="+i).then(function(result){
console.log(result.body);
})
JSONP的实现原理,由于浏览器的安全性限制,不允许ajax访问协议不同,端口不同数据接口。
可以通过动态创建script标签的形式,把script标签的src属性,指向数据接口的地址,因为script标签不存在跨域限制,这种数据获取方式,称作JSONP
全局配置接口根域名
实例:
全局:
Vue.http.options.root = "http://127.0.0.1:3000/"
this.$http.get("data").then(function(result){
console.log(result.body);
})
私有:
new Vue({
http:{
root:"http://127.0.0.1:3000/"
}
})
设置根域名后url地址要使用相对路径(前面不加“/”)