web前端全栈0基础到精通(祺)vue 03

一、watch(监听/侦听器)

1.1概念

watch 用监听属性的变化。
watch用来监听data的变化

1.2监听方法

1.2.1 浅监听

浅监听可以监听,字符串,普通的数组。它不能监听对象的变化

watch:{
     
	数据属性(newVal,oldVal){
     
	
	}
}
1.2.2深度监听

可以监听对象的变化

watch:{
     
	对象数据属性:{
     
	deep:true,
	handler(newVal){
     
	
	}
	}
}

二、计算属性(computed)

vue的作者:尤雨溪(美籍华人)。他最早在谷歌工作,做angular1.x

vue: 尤雨溪(个人)

angular 谷歌开发的 (新版2.x版本的框架是 谷歌与微软–微软开发了ts–typescript js超集)

angular 1.x 采用的设计模式是MVC

angular 2.x 采用的设计模式就换成MVVM

React 是脸书(Facebook),它并不是框架,它只是一个类库

2.1概念

作者不希望模板内容(这个模板内容指的是{
    {}}),过于复杂冗余。如果有大量的计算或者逻辑操作,我们可以放在计算属性中。

计算属性就是一个函数,最终的结果要通过return返回出去

2.2 计算属性中get和set

每个对象都有get和set。一般情况下,我们只是取值,取值的过程中,你是省略了get的步骤。但凡你要从外部修改这个数据,你会触发set方法

get() 这个方法我们也称之为,取值器 getter
set() 这个方法我们也称之为,赋值器 setter

一般我们都不去调用get()或者set(){},而是直接通过简写方式去获取返回值即可

2.3 实战案例之购物车

实现购物车有两种方式:
一、必须要登录才能看见购物车列表,比如:淘宝。。。
二、不需要登录就可以看见购物车列表,比如京东的移动端

针对于前端,实现上述两种方案最简单的是,必须要登录的

三、过滤器(filter)

3.1概念

针对于文本进行格式化(当前文本指的是{
    {}})

返回的内容是跟你的过滤的条件。

有时候后端返回的数据,并不适用于直接渲染,我们要针对数据进行2次修改。
比如后端返回的时间格式:时间戳 1617868610333
用户应该看到的格式: 2021/04/08 或者 2021-04-08

封装好的过滤器如何调用。通过过滤符 ‘|’

3.2 过滤器的封装方式

3.2.1 局部过滤器
filters:{
	过滤器名称(参数一,参数二){
		//参数一 你要过滤的内容
		//参数二 调用当前过滤器传入的参数
		return 返回过滤结果
	}
}
3.2.2 全局过滤器(常用!!!)
Vue.filter('过滤器名称',(参数一,参数二)=>{
//过滤器逻辑
//参数一 你要过滤的内容
		//参数二 调用当前过滤器传入的参数
		return 返回过滤结果
})

四、过渡动画(transition)

4.1内置过渡动画

两大种状态(6小种状态)

离开(leave)
leave 离开之前
leave-active 离开的过程中
leave-to 离开之后

进来(enter)
enter 进入之前
enter-active 进来的过程中
enter-to 进入之后


内置的方法很麻烦,还是要结合你自己的css 样式

4.2 动画库

animate.css 动画库
  • 官网地址
https://animate.style/
  • 下载方式
npm install animate.css
+ [email protected]

五、组件


面试题

计算属性和methods的区别

两种方式得到的结果是相同的。
不同的是计算属性是基于变量的值进行缓存的,只要在它关联的变量值发生变化时计算属性就会重新执行。而methods没有缓存,所以每次访问都要重新执行。
2、计算属性的特点:
计算属性使数据处理结构清晰;
依赖于数据,如果数据有更新,则计算属性的结果自动更新;
计算属性的结果无须在data中定义就能够在页面中直接使用;
相较于methods,如果依赖的数据不更新,则读取缓存,不会重新计算。

计算属性和watch的区别

共同点:都是以Vue的依赖追踪机制为基础的,都是希望在依赖数据发生改变的时候,被依赖的数据根据预先定义好的函数,发生“自动”的变化。
不同点:watch擅长处理的场景:一个数据影响多个数据;computed擅长处理的场景:一个数据受多个数据影响。虽然计算属性在大多数情况下更合适,但有时也需要一个自定义的侦听器,当需要在数据变化时执行异步或开销较大的操作时,通过侦听器最有用。
总结:
当在模板内使用了复杂逻辑的表达式时,应当使用计算属性。
虽然方法也能实现同样的效果,但是因为计算属性可以基于它们的依赖进行缓存,所以选择计算属性会比方法更优。
当需要在数据变化时执行异步或开销较大的操作时,可以使用 watch。


你可能感兴趣的:(react,vue,过滤器,vue.js,reactjs,前端)