Vue过滤器,生命周期函数和vue_第1页
Vue过滤器,生命周期函数和vue_第2页
Vue过滤器,生命周期函数和vue_第3页
Vue过滤器,生命周期函数和vue_第4页
Vue过滤器,生命周期函数和vue_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第Vue过滤器,生命周期函数和vue1、什么是生命周期

从Vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期

2、主要的生命周期函数分类

1、创建期间的生命周期函数:

beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好data和methods属性

created:实例已经在内存中创建OK,此时data和methods已经创建OK,此时还没有开始编译模板

beforeMount:此时已经完成了模板的编译,但是还没有挂载到页面中

mounted:此时,已经将编译好的模板,挂载到了页面指定的容器中显示

2、运行期间的生命周期函数:

beforeUpdate:状态更新之前执行此函数,此时data中的状态值是最新的,但是界面上显示的数据还是旧的,因为此时还没有开始重新渲染DOM节点

updated:实例更新完毕之后调用此函数,此时data中的状态值和界面上显示的数据,都已经完成了更新,界面已经被重新渲染好了!

3、销毁期间的生命周期函数:

beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。

destroyed:Vue实例销毁后调用。调用后,Vue实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

使用例子:

!DOCTYPEhtml

htmllang=en

head

metacharset=UTF-8

titleTitle/title

scriptsrc=vue.js/script

/head

body

divid=app

inputtype=buttonvalue=修改msg@click=msg=No

h3id=h3{{msg}}/h3

/div

script

varvm=newVue({

el:#app,

data:{

msg:ok

methods:{

show(){

console.log(执行了show方法)

beforeCreate(){

alert(beforeCreate1)

//this.show()

//注意:在beforeCreate生命周期函数执行的时候,data和methods中的数据都还没有没初始化

created(){//这是遇到的第二个生命周期函数

alert(created2)

//this.show()

//在created中,data和methods都已经被初始化好了!

//如果要调用methods中的方法,或者操作data中的数据,最早,只能在created中操作

beforeMount(){//这是遇到的第3个生命周期函数,表示模板已经在内存中编辑完成了,但是尚未把模板渲染到页面中

alert(beforeMount3)

//在beforeMount执行的时候,页面中的元素,还没有被真正替换过来,只是之前写的一些模板字符串

mounted(){//这是遇到的第4个生命周期函数,表示,内存中的模板,已经真实的挂载到了页面中,用户已经可以看到渲染好的页面了

alert(mounted4)

//注意:mounted是实例创建期间的最后一个生命周期函数,当执行完mounted就表示,实例已经被完全创建好了,此时,如果没有其它操作的话,这个实例,就静静的躺在我们的内存中,一动不动

//接下来的是运行中的两个事件

beforeUpdate(){//这时候,表示我们的界面还没有被更新【数据被更新了吗?数据肯定被更新了】

alert(beforeUpdate修改)

//得出结论:当执行beforeUpdate的时候,页面中的显示的数据,还是旧的,此时data数据是最新的,页面尚未和最新的数据保持同步

updated(){

console.log(界面上元素的内容:+document.getElementById(h3).innerText)

console.log(data中的msg数据是:+this.msg)

//updated事件执行的时候,页面和data数据已经保持同步了,都是最新的

/script

/body

/html

三、vue-resource

github地址:/pagekit/vue-resource

1、vue-resource的请求api是按照rest风格设计的,它提供了7种请求apiget(url,[data],[options]);****head(url,[data],[options]);post(url,[data],[options]);****put(url,[data],[options]);patch(url,[data],[options]);delete(url,[data],[options]);jsonp(url,[data],[options]);****

2、参数介绍

都是接受三个参数:

url(字符串),请求地址。可被options对象中url属性覆盖。

data(可选,字符串或对象),要发送的数据,可被options对象中的data属性覆盖。

options对象

参数类型描述

urlstring请求的URL

methodstring请求的HTTP方法,例如:GET,POST或其他HTTP方法

bodyObject,FormDatastringrequestbody

paramsObject请求的URL参数对象,get

headersObjectrequestheader第三方请求数据需要用到

timeoutnumber单位为毫秒的请求超时时间(0表示无超时时间)

beforefunction(request)请求发送前的处理函数,类似于jQuery的beforeSend函数

progressfunction(event)ProgressEvent回调处理函数

credentialsboolean表示跨域请求时是否需要使用凭证

emulateHTTPboolean发送PUT,PATCH,DELETE请求时以HTTPPOST的方式发送,并设置请求头的X-HTTP-Method-Override

emulateJSONboolean将requestbody以application/x-www-form-urlencodedcontenttype发送

!DOCTYPEhtml

htmllang=en

head

metacharset=UTF-8

titleTitle/title

scriptsrc=vue.js/script

scriptsrc=/npm/vue-resource/script

/head

body

divid=app

inputtype=buttonvalue=get请求@click=getInfo

inputtype=buttonvalue=post请求@click=postInfo

inputtype=buttonvalue=jsonp请求@click=jsonpInfo

/div

script

//创建Vue实例,得到ViewModel

varvm=newVue({

el:#app,

data:{},

methods:{

getInfo(){//发起get请求

//当发起get请求之后,通过.then来设置成功的回调函数

this.$http.get(http://vue.studyit.io/api/getlunbo).then(function(result){

//通过result.body拿到服务器返回的成功的数据

//console.log(result.body)

postInfo(){//发起post请求application/x-wwww-form-urlencoded

//手动发起的Post请求,默认没有表单格式,所以,有的服务器处理不了

//通过post方法的第三个参数,{emulateJSON:true}设置提交的内容类型为普通表单数据格式

this.$http.post(http://vue.studyit.io/api/post,{},{emulateJSON:true}).then(result={

console.log(result.body)

jsonpInfo(){//发起JSONP请求

thi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论