Vue2过滤器、侦听器、计算属性总结

一、过滤器

过滤器(Filter)是vue为开发者提供的功能,常用于文本的格式化。过滤器可以用在两个地方:插值表达式和v-bind属性绑定。 过滤器应该被添加在javaScript表达式的尾部,由“管道符”进行调用。

//局部过滤器
{
          
   {
          
   message | capi}}

//script
data:{
          
   
	message:hello vue.js
}
filters:{
          
   
	capi(val){
          
   
		const first = val.charAt(0).toUpperCase()
		const other = val.slice(1)
		return first + other
	  }
}


//全局过滤器
{
          
   {
          
   message | capi}}
//script
Vue.filter(capi,function(str){
          
   
	const first = str.charAt(0).toUpperCase()
	const other = str.slice(1)
	return first + other
})

二、侦听器

watch侦听器允许开发者监视数据的变化,从而针对数据的变化做特定的操作

//script
data:{
          
   
	username:
}

//方法格式
//缺点1:不会自动触发
//缺点2:如果侦听器的是一个对象,如果对象中的属性发生了变化,不会触发侦听器
watch:{
          
   
	username(newVal){
          
   
		if (newVal===) return
		$.get(https://www.escook.cn/api/finduser/+ newVal,function(result){
          
   
			console.log(result)
		})
	}
}
//对象格式
//优点1:可以通过immediate自动触发
//优点2:可以通过deep选项,让侦听器深度监听对象中每个属性的变化
watch:{
          
   
	username:{
          
   
		handler(newVal,oldVal){
          
   
			console.log(newVal,oldVal)
		},
		immediate:true
	}
}

方法格式 缺点1:不会自动触发 缺点2:如果侦听器的是一个对象,如果对象中的属性发生了变化,不会触发侦听器

对象格式 优点1:可以通过immediate自动触发 优点2:可以通过deep选项,让侦听器深度监听对象中每个属性的变化

三、计算属性

计算属性指的是通过一系列运算之后,最终得到的一个属性值。 这个动态计算出来的属性值可以被模板结构或methods方法使用。 特点: 1.定义的时候要被定义成"方法" 2.在使用计算属性的时候,当普通的属性使用即可 好处: 1.实现了代码的复用 2.只要计算属性中依赖的数据源变化了,则计算属性会自动重新求值。

<div>
<input type="text" v-model.number="a"><input>
<input type="text" v-model.number="b"><input>
<input type="text" v-model.number="c"><input>
<div class="box" :style="{backgroundColor:rgb}">
</div>

//script
data:{
          
   
r:0,
g:0,
b:0
}

computed:{
          
   
rgb(){
          
   
		return `rgb(${
            
     this.r},${
            
     this.g},${
            
     this.b})`
	}
}
经验分享 程序员 微信小程序 职场和发展