Vue的经常使用特性其实也是Vue语法的一部分,只是为了学习方便,因此单独拿出来进行说明,学习上也显得更清晰。
对于基础部分,可用参考官网上的介绍。javascript
一、基于表单的操做html
二、表单域修饰符vue
<input v-model.number="age" type="number" />
input事件输入的时候就触发,而change事件到失去焦点时才触发java
一、为何须要自定义指令?web
内置指令不知足需求,关于内置指令可参考此处说明。api
二、自定义指令的语法规则(获取元素焦点)缓存
也可进入自定义指令的官网的地址查看详细说明。异步
Vue.directive('focus', { inserted: function(el){ // 获取元素焦点 el.foucus(); } })
三、自定义指令用法ide
<input type="text" v-focus />
四、带参数的自定义指令(改变元素背景色)svg
Vue.directive('color', { bind: function(el,binding){ // 改变元素背景色 el.style.backgroundeColor = binding.value.color; } })
五、指令用法
<input type="text" v-color='{color:"orange"}' />
六、局部指令
局部指令是在组件中定义的,定义后只能在此组件中使用。而上面定义的全局指令可用在任何地方使用。
directives: { focus: { // 指令的定义 inserted: function(el) { el.focus(); } }, //可用定义多个局部指令 ... }
一、为什么须要计算属性?
表达式的计算逻辑可能会比较复杂,使用计算属性可用使模板内容更加简介。
二、计算属性的用法
computed: { reversedMessage : function (){ return this.msg.split('').reverse().join('') } }
<input type="text" value='{{reversedMessage}}' />
使用计算属性,直接使用函数名,不须要加小括号;计算属性是基于data中定义的数据的,若是数据改变了,计算属性也会改变;必须有返回值。
三、计算属性与方法的区别
一、侦听器的应用场景
数据变化时执行异步或开销较大的操做。
二、侦听器的用法
watch : { firstName: function(val) { // val表示变化后的值 this.fullName = val + ' ' + this.lastName; }, lastName: function(val) { this.fulllName = this.firstName + ' ' + val; } }
三、案例场景
一、过滤器的做用是什么?
格式化数据,好比将字符串格式化为首字母大写,将日期格式化为指定的格式等。
二、自定义过滤器
Vue.filter('过滤器名称', function(value) { // 过滤器的业务逻辑 })
三、过滤器的使用
// 插值表达式 <div> {{msg | upper}}</div> // 级联处理,upper过滤器的结果做为lower过滤器的输入 <div> {{msg | upper | lower}}</div> // 属性绑定的值 <div v-bind:id="id | formatId"></div>
四、局部过滤器
局部过滤器是在组件中定义的,定义后只能在此组件中使用。而上面定义的全局过滤器可用在任何地方使用。
filters: { upper: function (val){ return val.charAt(0).toUpperCase() + val.slice(1); } }
五、带参数的过滤器
Vue.filter('format',function(value, arg1) { // value就是过滤器传递过来的参数,以下面的date,后面的参数才是须要处理的 })
六、使用方式
<div>{{date | format('yyyy-MM-dd')}} </div>
此部份内容也可参考官网说明了解更多内容。
一、 主要阶段
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
destroyed
mouted
钩子函数被触发,表示页面已经初始化完成,模板已经存在。初始化页面数据可在此处完成。
二、Vue示例的生产过程
beforeCreate
:在示例初始化以后,数据观测和事件配置以前被调用。created
:在示例建立完成后别马上调用。beforeMount
:在挂载开始以前被调用。mounted
:el
被新建立的vm.$el
替换,并挂载到实例上以后调用该钩子。beforeUpdate
:数据更新时调用,发生在虚拟DOM
打补丁以前。updated
:因为数据更改致使的虚拟DOM
从新渲染和打补丁,在这以后会调用该钩子。beforeDestroy
:实例销毁以前调用。destroyed
:实例销毁后调用。以上就是Vue的经常使用特性的简单介绍,以帮助对知识的巩固和梳理。也是对本身学习过程的一个小小总结。接下来将学习的是Vue的组件开发。