VUE第二天学习
内容:计算属性、过滤器、过渡动画、组件
生命周期、vue-cli脚手架和组件传值
一、计算属性
1.基本使用
computed,当我们的页面上需要频繁地进行数据运算时,我们需要用到计算属性。
(1)计算属性的变量名可以不在data中定义
(2)计算属性的业务逻辑函数只有在挂载点内被使用之后,才会触发
(3)计算属性关联的数据发生变化之后,计算属性的逻辑函数会重新执行,得到新的结果。
2.计算属性和methods的区别
计算属性:当关联的数据没有发生变化时,会优先使用数据缓存
而methods,只要调用了,那么就会重新执行指定的函数。
3.计算属性和监听的区别
(1)在页面加载时,计算属性的逻辑函数,在挂载点内使用了计算属性的变量时,会自动的触发,但是监听的逻辑函数不会自动执行
(2)当监听和计算属性关联的数据发生改变时,监听的优先级要比计算属性要高。
(3)计算属性:当关联的数据没有发生变化时,会优先使用数据缓存,监听没有数据缓存。
购物车案例:
购物车
二、过滤器
作用:对页面中展示的数据进行处理
定义:
(1)全局定义
(2)局部定义
语法格式:
new Vue({
el
data
filters:{
过滤器名称(形参){
...
return 结果
}
}
})
使用:
通过 变量值 | (管道符) 过滤器名称
1000 | formatPrice(形参2)
参数:
管道符左边的变量永远是第一个参数,管道符右边过滤器名称(参数),作为第二个参数。
三、过渡动画
使用场景:标签显示/隐藏、存在/消失、动态组件
1.内置类名
匿名使用
(1)进入时状态
.v-enter 设置元素进入开始状态
.v-enter-active 设置元素进入中的状态
.v-enter-to 设置元素进入后的状态
(2)离开时状态
.v-leave 设置元素离开开始状态
.v-leave-active 设置元素离开中的状态
.v-leavt-to 设置元素离开结束的状态
命名使用
当页面上有很多个元素需要去设置不同的动画过渡效果时,可以给transtion标签增一个name属性来进行区分。
2.结合animate.css
(1)下载animate.css
(2)给需要添加动画过渡效果的标签增加一个父级标签
(3)给transition设置两个属性
enter-active-class 元素进入时的动画效果
leave-active-class 元素离开时的动画效果
四、组件【重点】
1.介绍
组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树。
组件是vue的一个实例,所以vue实例拥有的选项(除了el)组件都可以拥有【重点】
2.定义
语法格式:
new Vue({
el:"#app",
components:{
组件名称:{
template:"模板内容"
}
}
})
注意事项:
(1)组件名称不能是系统内置的标签名,比如:div、img
(2)template模板内容中只能有一个根标签
(3)template属性对应的值可以是一段html字符串,也可以是一个id选择器
示例:
组件
3.组件定义优化
因为template属性的值是一个对象,所以可以把这个对象在实例化vue之前定义好,这样的话在注册组件时,代码编写就非常简洁。
组件定义优化
{{ msg }}
4.组件中data为什么是一个函数【面试题】
因为普通的数据定义方式是一个对象,所以对象中的数据一旦发生变化,那么在页面中使用过这个数据的地方都会发生相应的改变。
而组件是可以重复使用的,所以在组件中定义data时不应该是一个对象,而应该是一个函数,在函数中返回一个新的对象,这样的话组件与组件之间就不会产生数据的影响。
组件中的data应该是一个函数
5.组件后台管理系统页面布局案例
后台管理系统系统页面布局
作业:
1.实现购物车案例
2.实现后台管理系统页面布局
购物车
# | 商品名称 | 商品图片 | 价格 | 数量 | 小计 | 操作 |
---|---|---|---|---|---|---|
{{ item.title }} | {{ item.price }} | {{ item.num }} | {{ (item.price * item.num).toFixed(2) }} | |||
全选: | 总价:{{ allPrice }} |
second组件
这是第一个组件{{ msg }}
这是第二个组件
{{msg}}
这是第三个组件
{{ count }}
XXX信息管理系统
这是footer组件
- 学生管理
- 教师管理
发表评论 (审核通过后显示评论):