VUE的选项

vue中选项

data methods props watch computed

data 存放数据

在组件内,必须是一个返回初始对象的函数

为了保证当前组件的多个实例直接不会共享data中的数据

props 用于接收父组件传来的数据

定义的props属性的对象,该对象中有四个属性:type , default, required, validator

type:设置当前属性的数据类型,可以用数组设置多个数据类型:【String,Number】,一共有八种数据类型即:String、Number、Boolean、Object、Date、Array、 Funtion、 Symbol,

default:设置默认值的 any(任意类型)

required: 设置当前属性名是否为必填 ,值为true时为必填

validator:当前属性值得校验函数,函数的返回值为true通过校验 代码如下

props: {
    type: {
        validator: function(val){
            return ['success','danger','error'].includes(val)
        }
    }
}

methods:用于定义函数

watch

用于监听响应式数据的变化

export default {
	data(){
		return {
            i: 0,
            obj: {
                a: {
                    b: {
                        c: 0
                    }
                }
            }
        }
	},
    watch: {
        i(){
            //监听i的变化
        },
        obj: {
            handler(){
                //监听对象的变化
            },
            deep: true //深度监听,只能监听到对象属的变化
        }
    }
}

computed

计算属性 当所依赖的响应式数据发生改变时才会重新计算

DOM选项

el

使用css选择器或者htmldomcument对象的方法来获取页面中存在的DOM元素,将该元素作为Vue实例的挂载目标

template

 在自定义组件中用于创建 VNode 模板                    声明的 VNode 模板中,最外层只能有一个根元素

生命周期

beforeCreate created beforeMount mounted beforeUpdate updated beforeDestroy destroyed 

beforeCreate

不能获取DOM对象 

能获取到vue实例的属性和方法

在这个钩子函数内,初始化了 inject、props、methods、data、computed、wacth、provied;所以在这个钩子里还不可以使用 this;

created

不能获取DOM对象

能获取到vue实例的属性和方法

 在这个钩子函数内,将会挂在实例执行 vm.$mount(vm.$options.el)

 因为在 beforeCreate 钩子内已经将数据进行了初始化,所以我们可以在这个钩子内进行一些 data 实例数据的操作;对于 ajax 请求,通常由于有时候会在这个钩子内对一些 data 数据进行操作,所以个人用的比较多一点,一般就将 ajax 请求放在了这个里边,其实对于 ajax 放在 created 还是 mounted 区别不是很大,因为 created 和 mounted 之间的时间差其实是可以忽略的,队友有时候考虑的会引起二次渲染的问题,其实是没必要去考虑的,因为 ajax 本身就是异步的请求,一般就根据具体的需要去考虑将 ajax 放在哪里,和 react 一样的,mounted 和 componentDidMount 这里边 dom 实例已经挂在,我们就可以对一些 dom 进行处理了

beforeMount

能获取到vue实例的属性和方法

不能获取DOM对象

mounted

能获取到vue实例的属性和方法

能获取DOM对象

beforeUpdate

data 中响应式数据发生变化时,会触发页面的渲染,页面渲染前将调用该方法

在此方法获取的响应式数据的值为修改后的值

updated

响应式数据更新,触发页面渲染,页面渲染后将调用此方法

在此处可以获取更新后的DOM元素对象

beforeDestory

在这个钩子内还可以使用 this;

destroyed

在这个钩子内是不可以使用 this 的,实例已经在 beforeDestory 被销毁;

activated

 activated 这个钩子一般会配合着 keep-alive 来使用,用 keep-alive 进行组件的缓存,再次进入组件的时候,就直接跳过前边的钩子函数不再重新执行,而直接执行 activated 钩子;

   这个钩子在组件第一次渲染的时候会被调用,之后每次缓存组件被激活的时候调用;其调用机制就是,第一次调用的时候,是在 mounted 之后,beforeRouterEnter 守卫传给 next 的回调之前调用; 第二次调用的时候,因为组件被缓存了,mounted 以及之前的都不再调用了,就直接从 activated 钩子开始了;

deactivated

该钩子函数在 keep-alive 组件停用的时候调用,在服务器渲染期间不被调用;

使用了 keep-alive 就不会调用 beforeDestory 和 destoryed 钩子了,因为组件没有被销毁,而是缓存起来了,所以这个钩子可以看做是 beforeDestory 和 destoryed 的替代;

errorCaptured

主要用来处理一些异常错误,基本不怎么去使用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值