VueJS(二)

本文深入讲解Vue.js基础知识,包括插值与表达式、过滤器、指令与事件、计算属性及类与样式绑定等内容,帮助初学者快速掌握Vue.js核心概念。

今天将继续学习vue的基础知识

插值与表达式

使用{{ }}来显示绑定的数据,这一点和我之前学的AngularJS类似,不过ng首先你要创建ng-app对象

	<body>
		<div id="app">
			<span v-html="link"></span>
		</div>
		<script>
			var app= new Vue({
				el:'#app',
				data:{
					link:'<a href="#">这是一个</a>'
				}
			})
		</script>
	</body>

这样通过v-html可以直接输出渲染后的DOM
使用v-pre的话就是直接输出未编译的html,额,这个不编译指的是元素的值不替换,html渲染还是会进行的,用了v-html后,标签写的内容就直接会被无视,只显示=的内容渲染

过滤器
Vue.js支持在{{}}插值的尾部添加一个管道符“(|)”对数据进行过滤,经常用于格式化文本。过滤的规则是自定义的,通过给Vue实例添加选项filters来设置

<body>
		<div id="app">
			{{date|formatDate}}
		</div>
		<script>
			var padDate = function(value){
				return value <10 ?'0'+value : value;
			};
			var app = new Vue({
				el:'#app',
				data:{
					date:new Date()
				},
				
				filters:{
					formatDate:function (value){
						var date = new Date(value);
						var year = date.getFullYear();
						var month =padDate(date.getMonth()+1);
						var day = padDate(date.getDate());
						var hours = padDate(date.getHours());
						var minutes = padDate(date.getMinutes());
						var seconds = padDate(date.getSeconds());
						return year +'-' +month +'-' +day +' ' +hours+ ":" +minutes +':' +seconds;
 					}
				},
				mounted:function (){
					var _this = this;
					this.timer = setInterval(function(){
						_this.date = new Date();
					},1000);
				},
				beforeDestroy :function(){
					if(this.timer){
						clearInterval(this.timer);
					}
				}
			})
		</script>

上面的代码,他在data后面加上formatData,然后在vue实例对象中添加filters,里面定义formatData,它里面这个是一个函数的形式,还有一个return的返回值,表示最终输出的格式

指令和事件
指令,指得过AngularJS吗?

前面已经接触了很多指令,都是v-开头,html、bind、if等
指令的主要职责就是当表达式的值改变的时候,将某些行为应用到DOM上,这个和ng还是有点区别的,ng我记得是为了在html中实现js的功能,所以大量应用指令

v-if 条件判断,配合一起用的还有v-else,这两个如果一起用的话,要注意两个元素之间是不能有其他元素的

v-bind 绑定,不多说

v-on 也是绑定,它用于绑定监听器,比如按钮

<button v-on:click = "handleClose">点击</button>

后面在vue实例中methods里面再写函数handleClose就可以搞定了

计算属性
vue的计算可以在实例中添加computed对象

class、style的绑定

<div :class="{'active':isActive}"></div>

类似这样的:class,绑定一个class对象,isActive的值是一个布尔值,true or false
active是一个类名,他的生效与否就取决于它冒号后面的值了

:class可以和普通的class=“ ”共存

:class后面还可以跟数组甚至三元表达式

使用style就直接绑定内联样式

:style=“{ : }”
就里面的内容需要用花括号括起来,其他的和直接用没区别,额,还有一点是它可以:后面的具体样式可以用变量代替,然后再在vue的实例中data赋值就可以了。同样也可以以写成数组形式

内置指令
v-cloak
它不需要表达式,他会在vue实例结束编译的html元素移除,经常和css的display:none配合
可以起到防止闪动的效果

v-once
也不需要表达式
表示只渲染一次,第二次改变值就无效了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值