2021-07-23大连东软实训第四天---vue

数据库一个表对应一个类,表由子段组成,类由属性组成,互相对应,查表就是查一组对象,一个的对象数组,在vue迭代中最多的就是对象数组,
button默认的type是submit的,一提交就刷新页面,所以要想让他成为一个普通的按钮就type=button

全局过滤器+调用


在这里插入图片描述
全局不能定义到vm实例上,必须定义到外部
在这里插入图片描述
注意第一个参数第二个参数的区别

局部过滤器+调用


在这里插入图片描述
在这里插入图片描述

时间过滤器
在这里插入图片描述

在这里插入图片描述

过滤器加参数用pattern接受

在这里插入图片描述

在这里插入图片描述
让9变09用padStart,注意是大写

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
点击回车就添加,调用add事件,如果换成别的键比如f2就不好使,

在这里插入图片描述

在这里插入图片描述

如果用f2的话可以写113

在这里插入图片描述
记住太费劲,vue允许自定义键盘码

在这里插入图片描述
要焦点

自定义指令,全局和局部


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

自定义指令,此时el相当于
在这里插入图片描述
input

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

bind也行,但是全局不行,执行最早,当在元素上使用自定义指令时,就会被调用。此时,内存中的dom树,还没有被渲染到页面中,只执行一次以后,渲染以后不再执行,inserted当dom树被渲染到页面时执行,update只要更新就执行

如何给赋值?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

如果有-就必须加‘’,上图是一个简写的形式,此时表示bind或update时该指令被执行。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

生命周期


在这里插入图片描述
在这里插入图片描述
所以不能用data和method里面的东西

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

vue动画,三种方式


transform和transition过渡

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

动画分为两个阶段,入场和离场,四个状态

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>切换效果</title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
		<style type="text/css">
			.v-enter,.v-leave-to{
				opacity: 0;
				transform:translateX(200px) ;
			}
			.v-enter-active,
			.v-leave-active{
				transition: all 0.8s ease;
			}
			.my-enter,.my-leave-to{
				opacity: 0;
				transform:translateY(200px) ;
			}
			.my-enter-active,
			.my-leave-active{
				transition: all 0.8s ease;
			}
		</style>
	</head>
	<body>
		<div id="app">
			<button @click="flag=!flag">toggle</button>
			<transition name='my'>
				<h3 v-if="flag">{{msg}}</h3>
			</transition>	
		</div>
		<div id="app1">
			<button @click="flag=!flag">toggle</button>
			<transition>
				<h3 v-if="flag">{{msg}}</h3>
			</transition>	
		</div>
		<script type="text/javascript">
			let vm=new Vue({
				el:'#app',
				data:{
					msg:"被执行的动画效果",
					flag:false
				},
				methods:{
			}
			});
			let vm1=new Vue({
				el:'#app1',
				data:{
					msg:"被执行的动画效果",
					flag:false
				},
				methods:{
			}
			});
		</script>
	</body>
</html>

name属性就是前缀

使用第三方动画库 Animate.css

https://animate.style/

第三种方式用钩子函数

https://cn.vuejs.org/v2/guide/transitions.html#JavaScript-%E9%92%A9%E5%AD%90

在这里插入图片描述
前四个进,后四个出

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
		<style type="text/css">
			.ball{
				width: 20px;
				height: 20px;
				background-color: red;
				border-radius: 50%;
			}
		</style>
	</head>
	<body>
		<div id="app">
			<button @click="flag=!flag">加入购物车</button>
			<transition
				v-on:before-enter="beforeEnter"
				v-on:enter="enter"
				v-on:after-enter="afterEnter"
				>
				<div class="ball" v-if="flag"></div>
			</transition>
			
		</div>
		<script type="text/javascript">
			let vm=new Vue({
				el:'#app',
				data:{
					flag:false
				},
				methods:{
					//el表示要执行动画的元素
					beforeEnter(el){
						el.style.transform='translate(0,0)';
					},
					enter(el){
						el.offsetLeft;//不加的话直接跳转没有移动的过程,offset强制重新绘制页面
						el.style.transform='translate(100px,450px)';
						el.style.transition='all 0.8s ease';
						done();//立刻执行afterEnter
						
					},
					afterEnter(el){
						this.flag=!this.flag;
					}
			}
			});
		</script>
	</body>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
		<style>
			li{
				border:2px dashed #aaa;
				height:50px;
				line-height:50px;
				width: 100%;
			}
			li:hover{
				background-color:#aa4765;
			}
			.v-enter,.v-leave-to{
				opacity: 0;
				transform:translateY(200px) ;
			}
			.v-enter-active,
			.v-leave-active{
				transition: all 0.6s ease;
			}
			.v-move{
				transition: all 0.8s ease;
			}
			.v-leave-active{
				position: absolute;
			}
		</style>
	</head>
	<body>
		<div id="app">
				id:<input v-model="Userid" />
				name:<input v-model="Username" />
				<button @click="add()">添加</button>
				<!--<ul>		tag属性修改transition-group编译后默认为span-->
					<!--为多个元素添加动画-->
					<transition-group appear tag="ul">
					<li v-for="(item,index) in Userlist" :key='item.Userid1' @click="del(index)" >
						{{item.Userid1}}---------------{{item.Username1}}
					</li>
					</transition-group>
				</ul>
		</div>
		<script type="text/javascript">
			let vm=new Vue({
				el:'#app',
				data:{
						Userid:'',
						Username:'',
						Userlist:[
							{
							Userid1:'1',
							Username1:'张飞'}
					]
				},
				methods:{
					add(){
						let user= {Userid1:this.Userid,Username1:this.Username};
						this.Userid=this.Userlist.push(user);
						this.Userid=this.Username='';
					},
					del(index){
						this.Userlist.splice(index,1);
					}
					
			}
			});
		</script>
	</body>
</html>

Vue.js是十分耀眼的项目之一,受到国内外开发人员的极度推崇。内容包括Vue.js概述、Vue.js的安装、定义页面、渲视图、路由、发送HTTP请求、表单的绑定和提交、打包、部署、解决js的跨域问题、Debug、Component、Vuex、页面的生命周期等,*后还给出一个实战案例供读者了解Vue.js项目开发过程。2020-2021最新Vue.js零基础入门到精通实战开发课程视频教程下载。课程以项目实战为驱动,帮你打开通往Vue.js的任督二脉,让你迅速成为一个优秀的Vue.js开发人员。 一、课程介绍Vue.js致力于构建数据驱动的web应用开发框架,是一个精简的MVVM。Vue.js 专注于 MVVM 模型的 ViewModel 层。简单的数据操作,就可以完成页面的更新,当然也有很多类似的框架,如Angular,React,但是Vue以简洁化,轻量级,数据驱动,模块友好等优势深受企业以及前端开发者的喜爱,成为前端开发人员必备的技能。2020年了,你还只会用jQuery吗?本课程以项目实战为驱动,帮你打开通往Vue.js的任督二脉,让你迅速成为一个优秀的Vue.js开发人员。二、课程需知我们的课程面向的同学是:需要有网页开发基础,熟悉HTML/CSS/JavaScript等前端开发技术,初步掌握JSON,闭包,AJAX…等JavaScript技术,在进阶阶段的课程中会使用ES6的一些语法,因此事先掌握一些ES6的知识也是有必要的。三、内容编排本课程分为三大部分讲解了运用Vue.js 进行项目实战开发。内容包括:第一步:Vue.js基础1、初识vue.js 2、模板语法3、计算属性4、class与style绑定5、条件渲染6、列表渲染7、fetch&axios8、事件处理器9、表单控件10、组件化开发第二步:Vue.js进阶1、过渡动画效果2、自定义指令3、单文件组件4、路由vue-router第三步:项目实战1、卖座苹果网站项目- 引入iconfont- 路由搭建- axios以及反向代理-嵌套路由-数据渲染2、Vue.js第三方框架使用-Element UI-mintUI3、状态管理vuex课程详细目录:Vue.js 课程介绍.docx第001集-1vue初识第002集-2条件渲染第003集-3tab切换第004集-4列表渲染第005集-5模板语法第006集-6计算属性第007集-7侦听器和class第008集-8内联样式第009集-9事件绑定第010集-10表单输入绑定第011集-11过渡动画第012集-12todolist应用第013集-13生命周期与组件生命周期第014集-14组件之间的传值第015集-15$root_$parent_$children第016集-16v-model与插槽第017集-17vue-cli第018集-18vue-devtools第019集-19vue-cli原理第020集-20vue组件化第021集-21vue聊天框第022集-22socket初识和安装第023集-23单聊和群聊以及命名空间第024集-24聊天项目第025集-25聊天登录登出第026集-26聊天列表第027集-27个人聊天第028集-28单聊功能第029集-29自动滚动和聊天第030集-30群聊第031集-31注意编译地址第032集-32vue实现原理1第033集-33vue实现原理2第034集-34less第035集-35vue-less使用第036集-36sass第037集-37vue-router第038集-38动态路由和嵌套路由第039集-39命名视图和组件传参第040集-40vue路由高级应用第041集-41Vue路由守卫第042集-42vuexstate第043集-43vuex getter第044集-44vuex-action第045集-45vuex-module第046集-46vuex-插件第047集-47vuex-vant第048集-48网易严选商城第049集-49网易商城首页第050集-50分类列表第051集-51产品列表第052集-52产品列表2第053集-53商品产品页面第054集-54产品sku第055集-55产品购物车第056集-56购物车
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤姆z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值