【第三阶段 day23】vue复习 远程调用 类型请求与映射关系

1.vue复习

1.1 点击事件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>点击事件</title>
	</head>
	<body>
		<div id="app">
			{{num}}
			<!-- 两者的作用是相同的 -->
			<button v-on:click="addnum()">自增</button>
			<button @click="addnum()">自增</button>
		</div>
		<script src="../js/vue.js"></script>
		<script>
			/* 
			 JS中变量的名称:
			 1.var  常规的变量声明,没有作用域
			 2.let  有作用域,代替var
			 3.const  定义常量
			 */
			const app=new Vue({
				el:"#app",
				data:{
					num:100
				},
				methods:{
					addnum(){
						this.num ++
					}
				}
			})
		</script>
	</body>
</html>

1.2 双向数据绑定

双向数据绑定的原理:

  • MVVM模块说明
    1.M Model 代表数据 大概率的事件是data中的数据
    2.VM ViewModel 视图模型层 在内部进行计算,在页面进行展现
    3.V View视图层 用户看到的展现效果
  • 总结:虚拟DOM是实现数据实时更新的重要组件
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>双向数据绑定</title>
	</head>
	<body>
		<div id="app">
			用户名:<input type="text" v-model="msg" />
			{{msg}}
		</div>
		<script src="../js/vue.js"></script>
		<script>
			const app=new Vue({
				el:"#app",
				data:{
					msg:"admin"
				}
			})
		</script>
	</body>
</html>

1.3 生命周期函数

  • 目的:控制整个vue对象的,在各个阶段都可以进行控制
  • 1.beforeCreate:
    创建了一个vue对象,只是还没有加载其中的属性,只是一个空对象

  • 2.created:
    vue对象开始填充对象,表示配置完成

  • 3.beforeMount
    对象根据以及配置的内容,在指定的区域开始加载数据(属性的值保存到内存当中)

  • 4.mounted
    在指定的区域中,渲染页面(为页面填充数据).页面初始化完成

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试vue生命周期函数</title>
	</head>
	<body>
		
		<div id="app">
			<h3 v-text="msg"></h3>
			<button @click="destroy">销毁</button>
		</div>
		
		<!--引入js函数类库  -->
		<script src="../js/vue.js"></script>
		<script>
			const app = new Vue({
				el : "#app",
				data : {
					msg: "vue生命周期"
				},
				
				//在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
				beforeCreate(){
					console.log("beforeCreate")
				},
				//在实例创建完成后被立即调用
				created(){
					console.log("created")
				},
				//在挂载开始之前被调用:相关的 render 函数首次被调用。
				beforeMount(){
					console.log("beforeMount")
				},
				//实例被挂载后调用,这时 el 被新创建的 vm.$el 替换了。
				mounted(){
					console.log("mounted")	
				},
				//数据更新时调用,发生在虚拟 DOM 打补丁之前
				beforeUpdate(){
					console.log("beforeUpdate")
				},
				//由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
				updated(){
					console.log("updated")
				},
				//实例销毁之前调用。在这一步,实例仍然完全可用
				beforeDestroy(){
					console.log("beforeDestroy")	
				},
				//实例销毁后调用。
				destroyed(){
					console.log("destroyed")
				},
				methods:{
					destroy(){
						this.$destroy()
					}
				}
			})
		</script>
	</body>
</html>

2.远程调用

2.1 什么是跨域?

浏览器解决ajax是,要求浏览器的网址,与ajax请求的网址,必须满足三要素:

  • 协议相同
  • 域名相同
  • 端口号相同

如果上述三要素都满足,叫做同域访问,否则,叫做跨域访问

2.2 跨域访问测试案例

2.3 测试案例

2.3.1 html
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>前后端调用测试</title>
	</head>
	<body>
		
		<!-- 1.完成前后端远程调用 -->
		<!-- 1.1 引入JS的函数 -->
		<!-- <script src="../js/vue.js"></script> -->
		<script src="../js/axios.js"></script>
		<script>
			//1.动态获取用户列表的信息
			// axios.get(url地址,需要提交的参数)
			let url1="http://localhost:8090/findAll";
			axios.get(url1)
				.then(function(promise){
					console.log(promise.data[0].name)
				})
		</script>
	</body>
</html>

2.3.2 controller中
@CrossOrigin //解决跨域问题

2.4 根据id,动态获取用户信息

// 2.根据id,动态获取用户信息
let id=1
let url2="http://localhost:8090/findUserById?id="+id
axios.get(url2)
     .then(function(promise){
		 console.log(promise.data.name)
	 })

2.5 多参数的get请求

let user3={age:18,sex:"女"}
let url3="http://localhost:8090/findUserByAS"
//get请求传递对象:使用:{Param:对象}
 axios.get(url3,{params:user3})
	 .then(function(promise){
		 console.log(promise.data)
	 })

2.6 更新操作

let user4={id:1,name:"熊",age:3000,sex:"男"}
			let url4=`http://localhost:8090/updateById/${user4.id}/${user4.name}/${user4.age}/${user4.sex}`
			axios.put(url4)
					.then(function(promise){
						console.log(promise.data)
					})

3.类型请求与映射关系

  • 新增操作 类型:POST 接收注解: @PostMapping
  • 删除操作 类型:DELETE 接收注解: @DeleteMapping
  • 更新操作 类型:PUT 接收注解: @PutMapping
  • 查询操作 类型:GET 接收注解: @GetMapping
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值