Vue基础(2)

class,style绑定的几种写法:

			<!-- 对象 -->
			<div :class="{box1: true,box2:true}">22</div>
			<!-- 表达式 -->
			<div :class="true ? 'box1' : 'box2'">11</div>
			<!-- 数组语法 -->
			<div :class="[nowClass,nowClass1]">121</div>

			var vm = new Vue({
				el:'#app',
				data:{
					classs: 'box1',
					nowClass:{box1: true},
					nowClass1:{box2: true}
				}
			})

v-for列表渲染

<!-- v-for列表渲染数组或对象  item in list, (item,index) in list 得到索引-->
		<!-- for of 比for 循环性能好(循环数组和字符串,默认不能循环对象) 
			对象转换成数组 Object.values()属性值,Object.keys()属性名
			Object.entries()返回复合数组,属性名和属性值分别存在两个数组中
		-->
		<div id="app">
			<ul>
				<li  v-for="(item,index) in list">
					{{item}}--{{index+1}}
				</li>
				<li  v-for="(item,key,index) in obj">
					{{item}}--{{key}}--{{index}}
				</li>
			</ul>
		</div>
		<script>
			var vm = new Vue({
				el:'#app',
				data:{
					list: [111,222,333],
					obj:{
						name:'dg',
						age: 23,
						tall: 160
					}
				}
			})
		
		var objs = {
			name:'dg',
			age: 23,
			tall: 160
		}
		
		for(v of (Object.entries(objs))){
			console.log(v);
			console.log(v[0])
			console.log(v[1])
		}
		</script>

v-if,v-show
主要区别:v-show控制的是display属性,适合做频繁的隐藏显示操作,开销较小。 v-if决定是否在页面上加载,删除及创建会造成大量开销, 不适合频繁使用。v-if比v-show功能强大,可以和v-else 配合(必须紧挨)

template是vue自带标签,用于显示html结构,但是不会被渲染,充当容器 ,占位标签,不会在页面上渲染。

v-model双向绑定,以及watch监听
computer相对watch简单使用简单

				computed:{
					sum : function(){
						return this.x+this.y;
					}
				},
				//watch 分别监听x和y 根据值的变化进行执行 
				//相对computed较复杂
				//watch比较适合做异步操作,computed不太适合异步(计算熟悉是立即执行)
				watch:{
					x(a,b){
						this.z = a + this.y
					},
					y(a,b){
						this.z = a + this.x
					}
				}

@click=事件触发,加括号和不加括号的区别加括号得不到event对象,不加可以得到的解决方法 @click="events($event)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值