Vue

Vue:渐进式js框架

this在Vue中指向的是当前Vue的实例
组成部分:
1.模板:包括指令(将控制和html联系在一起)和html内容
2.样式
3.控制: 包括 data数据,el指定模板和 methods方法

指令

1.文本渲染指令
{{js表达式}} v-text v-html:可以渲染数据中的html标签

条件渲染指令
v-if=“表达式值”:通过移除dom元素进行隐藏
v-else
v-show :通过css的display=none的方法进行隐藏

属性绑定
v-bind:属性名=“值” 可缩写为 :属性名=“值”
注:所有的指令都只能在el指定的html标签内才管用
v-指令=“值”
在vue 指令里的值 不要当字符串来看,要当成js表达式运算结果,或者数据data里面的值

事件绑定
v-on:事件名 可缩写为 @事件名=""

.列表渲染
v-for="(item,index) in list"
//item是自定义的,代表每一项数据
//index代表数据的渲染下标

表单绑定
v-model=""

表单修饰符
.lazy 当change事件触发视图更新
.number把表单的值转换为数据数值

事件修饰
时间修饰符
.stop 停止事件冒泡
.prevent 阻止默认事件
.once 只执行一次
案件修饰符
例:@keyup.enter 回车键被按下

watch:监听一个数据的变化

  watch:{
                'obj':{
                    handler:function(val){
                       //当obj发生任何变化时,都会触发handler函数
                    },
                    deep:true //深层次监听(obj的属性发生变化也会触发handler函数)
                }
            }

computed: 从现有数据计算出新的数据

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

filters过滤:更改现有数据的显示格式

filters:{
	fix(val,arg1,arg2){
		return xx
}
}

调用:{{123|fix}} {{123|fix(2)}}

direcctives:vue自定义指令

//定义
directives:{
	img:{
	inserted(el,binding){
	//el  当前指令所在的html节点
	//binding.value   指令的值
}
}
}

使用:

class绑定

属性绑定
:class="’red blue‘"

动态绑定
:class="{‘red’:flag}"
:class="{‘active’}:index==ind"

数组绑定
:class="[‘red’,‘blue’]"

style绑定

1.对象
:style="{fontSize:‘21px’,color:’#800080’}"

2.data数据

:style="obj"

data:{
	obj:{
		fontSize:"21px",
		color:"#cceeea"
}
}

vue动画

  1. vue不能直接实现动画,它提供动画各阶段需要的class
  2. 组件提供class
  3. 在vue中,动画是在元素显示与隐藏的过程中,添加class实现的
  4. transition组件提供
    (1)v-enter-active{} :元素进入的整个过程。 包括:
    v-enter :元素进入的初始状态
    v-enter-to:元素进入的最终状态
    (2)v-fade-leave-active :元素离开的整个过程。 包括:
    v-leave :元素离开的初始状态
    v-leave-to:元素离开的最终状态

动画模式 mode

in-out
先执行进入动画,再执行离开动画

out-in
先执行离开动画,再执行进入动画

  1. transition-group组件
    tag : 指定标签
    move-calss:给正在移动当中的元素添加class
    name :动画名称
    enter-active-class:元素进入的整个过程
    leave-active-class :元素离开的整个过程

组件

定义
1.组件就是扩展自定义的html标签
2.组件是要给功能的集合,可以重复的使用
3. 组件能使一个复杂的系统分割为一些简单的组件
4. 组件使前端分工协作更加方便
5. 组件再小项目中会显得复杂,项目越大,优势就越大
全局:<组件名></组件名>

局部
1.定义组件

Vue.component(组件名,{
	template:`<div>组件的模板里只能有一个根节点</div>`
})
  1. 注册组件
new Vue({
	components:{counter}
})
  1. 使用组件
<counter></counter>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值