Vue基础——Vue常用特性

1、常用特性概述

表单操作
自定义指令
计算属性
过滤器
侦听器
生命周期2、表单操作
基于Vue的表单操作:
  input 单行文本
  textarea 多行文本
  select 下拉选择框
  radio 单选框
  checkbox 多选框

表单域修饰符:
  number:转化为数值
    <input v-model.number="age" type="text">
  trim:去掉开始和结尾的空格(注意:无法去掉中间的空格)
  lazy:将input事件切换为change事件(切换之后输入域的内容发生变化不再触发事件,只有当输入域失去焦点的时候才会触发事件)

3、自定义指令
为何需要自定义指令?
  内置指令不满足要求
自定义指令的语法规则:

// 注册一个全局自定义指令 `v-focus`
Vue.directive('focus', {
    // 当被绑定的元素插入到 DOM 中时……
    inserted: function (el) {
        // 聚焦元素
        el.focus()
    }
})

自定义指令用法:

<input type="text" v-focus>

带参数的自定义指令:

Vue.directive('color',{
    inserted:function(el,binding){
        el.style.backgroundColor = binding.value.color;
    }
})

带参数指令的用法:

<input type="text" v-color='{color:"orange"}'>

局部指令:

drectives:{
    focus:{
       //指令的定义
        inserted:function(el){
            el.focus()
        }
    }
}        

4、计算属性
为何需要计算属性?
  表达式的计算逻辑可能会比较复杂,使用计算属性可以使模板内容更加简洁
计算属性的用法:

computed:{
    reverseMessage:function(){
        return this.msg.split('').reverse().join('')
    }
}    

计算属性与方法的区别:
  计算属性是基于他们的依赖进行缓存的(如果数据不发生变化就不再计算,直接从缓存中取数据,反之则计算)
  方法不存在缓存

5、侦听器
侦听器的应用场景:
  数据变化时执行异步或开销较大的操作
侦听器的用法:

watch:{
    firstName:function(val){
        //val表示变化之后的值
        this.fullName = val + this.lastName;
    },
    lastName:function(val){
        this.fullName = this.firstName + val;
    }
}        

6、过滤器
过滤器的作用时什么?
  格式化数据,比如将字符串格式化为首字母大写,将日期格式化为指定的格式等。
自定义过滤器:

Vue.filter('过滤器名称',function(value){
    //过滤器业务逻辑
})

过滤器的使用:

<div>{{msg | upper}}</div>
<div>{{msg | upper | lower}}</div>
<div v-bind:id="id | formatId"></div>

局部过滤器:

filters:{
    capitalize:function(value){
        
    }
}

带参数的过滤器:

Vue.filter('format',function(value,arg1){
    //value就是过滤器传过来的参数
})

带参数过滤器的使用:

<div>{{date | format('yyyy-MM-dd')}}</div>

7、生命周期
主要阶段
  挂载(初始化相关属性)
    beforeCreate
    created
    beforeMount
    mounted
  更新(元素或组件变更操作)
    beforeUpdate
    updated
  销毁(销毁相关属性)
    beforeDestroy
    destroyed
Vue实例的产生过程
  beforeCreate在实例初始化之后,数据观测和事件配置之前被调用。
  created在实例创建完成后立即被调用。
  beforeMount在挂载开始之前被调用。
  mounted el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。
  beforeUpdate数据更新时调用,发生在虚拟DOM打补丁之前。
  updated犹豫数据更新导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子。
  beforeDestroy实例销毁之前被调用。
  destroyed实例销毁后调用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值