1.动态绑定样式
.bg{
background-color : orange
}
<li :class="{bg:true}"></li> //此处如果是true则显示,如果是false,则不显示。如下图,给点击处添加高亮效果
此处当showActive(点击某处时,获取该处的index,当高亮索引等于index的值时,则添加高亮效果)
行内样式绑定
2.计算属性 computed
在computed中定义的方法,在文本中当属性使用,默认情况下,计算属性,只能读,不能改。
定义完整结构的计算属性:
fullName:{
get(){return......} // get方法,用于返回计算属性的值
set(){} // set方法,用于修改计算属性的值
}
计算属性的优势是:有缓存,当页面数据发生变化时,所有的方法都要重新执行
当计算属性用到的数据发生变化时,计算属性才会执行。
3.侦听器 / 监听器 (当坚定到页面某个数据发生变化时,要做什么事时,就需要使用监听器)
watch:{
name(navl,oval){
console.log(nval,oval) //此处的nval是新的值,oval是旧值
},
student:{
deep:true //深度监视
handler
}
}
1. 侦听器的作用,其实就是当页面数据(属性值)发生改变时,重新发送ajax请求获取新的数据
一般他有两个参数: nval (最新值)oval(旧值)
2.侦听对象时,需要开启深度监视
格式如下:
student:{
//开启深度监视
deep:true,
//页面加载完成时,先运行一次(注意:这种情况下,旧值是undefined)
immediate:true,
//定义监视的函数
handler(nval,oval){
// 开启深度监视后,旧值已经没有意义,因为对象是引用类型,
// 对象的属性值已经改了,就没有旧的属性值。
console.log(nval,oval);
}
}
//根据属性的名称,定义一个方法,用于侦听该属性的变化,比如当name发生变化时,重新发送ajax请求获取新的数据
栈空间保存地址,堆空间保存数据,对象的值保存在堆空间
4.过滤器
过滤器在模板中通过管道符 | 的方式来调用,过滤器可以链式调用,就是将之前已经过滤完成的结果,继续传给下一个过滤器。
filters:{
toFixed(val){
return val.toFixed(2)
}
}
在原始数据后面加上 | toFixed2
4.1 定义全局过滤器,格式如下图
或者单独创建一个filter文件夹,将全局过滤器放入文件夹中,然后再所需要的页面中用script标签引入
页面跳转: 给超链接标签绑定一个函数,将函数的唯一编号id作为参数传出,在跳转函数中导入id