Vue(二)的逻辑操作

按照老师上课及官网的资料总结而成,官网:https://cn.vuejs.org/v2/guide

上一篇写的是基础操作:https://blog.csdn.net/qq_43222167/article/details/106267024

计算

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script src="js/vue.js" type="application/javascript" charset="UTF-8"></script>
	
	<body>
			<div id="app">
				<input v-model="i1" />
				<input v-model="i2" />
				<h1>:{{getValue}}</h1>
			</div>
			
			<div id="example">
			  <p>Original message: "{{ message }}"</p>
			  <p>Computed reversed message: "{{ reversedMessage }}"</p>
			</div>
	</body>
	
	<script>
		var app=new Vue({
			el:"#app",
			//初始化
			data:{
				i1:0,
				i2:0
			},
			computed:{
				getValue:function(){
					/**
					 * parseInt():转成数字类型
					 */
					return parseInt(this.i1)+parseInt(this.i2);
				}
			}
		});
		
		var vm = new Vue({
		  el: '#example',
		  data: {
		    message: 'Hello'
		  },
		  computed: {
		    // 计算属性的 getter
		    reversedMessage: function () {
		      // `this` 指向 vm 实例
			  /**
			   * splig:拆分
			   * reverse:反转(从头至尾变成从尾至头)
			   * join:拼接成字符串
			   */
		      return this.message.split('').reverse().join('')
		    }
		  }
		})
	</script>
</html>

运行后
在这里插入图片描述
在输入框里面随意输入数值
在这里插入图片描述
值随着输入的改变而改变

GetSet:计算属性默认只有 getter,不过在需要时你也可以提供一个 setter:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script src="js/vue.js" type="application/javascript" charset="UTF-8"></script>
	<body>
		<div id="app">
			<h1>getCount:{{getCount}}</h1>
		</div>
	</body>
	
	<script>
		var app=new Vue({
			el:"#app",
			computed:{
				getCount:{
				 get:function(){
					console.log("get");
					return 10;
				},
				set:function(){
					console.log("set");
				} 
				}
			},
		});
		
	</script>
</html>

进行后默认
在这里插入图片描述
f12后在控制台里面输入getCount=22

在这里插入图片描述
走了get方法,set默认不走

侦听器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script src="js/vue.js" type="application/javascript" charset="UTF-8"></script>
	<body>
		<div id="app">
			<input v-model="i3" />
		</div>
	</body>
	
	<script>
		var app=new Vue({
			el:"#app",
			//初始化
			data:{
				i3:1
			},
			watch:{//侦听器
				i3:function(newV,oldV){
					console.log("开始变化,新的值:"+newV);
					console.log("旧的值:"+oldV)
				}
			}
		});
	</script>
</html>

打开后的页面
在这里插入图片描述
摁下f12进行调试者模式后修改输入框里面的值
在这里插入图片描述
可以发生一直侦听着你修改的值

内联样式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script src="js/vue.js" type="application/javascript" charset="UTF-8"></script>
	
	<body>
		<div id="app">
			<h1 :style="{color:co}">内联style样式</h1>
			<h1 :style="cObject">内联style对象样式</h1>
		</div>
	</body>
	
	<script>
		var app=new Vue({
			el:"#app",
			data:{
				co:"yellow",
				cObject:{
					color:"green"
				}
			}
		})
	</script>
</html>

If ElseIF Else

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script src="js/vue.js" type="application/javascript" charset="UTF-8"></script>
	<body>
		<div id="app">
			<h1 v-if="show">
				if
			</h1>
			<h1 v-else>
				else
			</h1>
			
			<hr />
			<h1 v-if="a == 'a' ">
				A
			</h1>
			<h1 v-else-if="a == 'b' ">
				B
			</h1>
			<h1 v-else>
				other
			</h1>
		</div>
	</body>
	
	<script>
		var app=new Vue({
			el:"#app",
			data:{
				show:true,
				a:"a"
			}
		})
	</script>
</html>

进来后的值是
在这里插入图片描述
把show的值改为false
在这里插入图片描述
a的值改为b
在这里插入图片描述
a的值再随意改成其它的

在这里插入图片描述

SHOW

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script src="js/vue.js" type="application/javascript" charset="UTF-8"></script>
	<body>
		<div id="app">
			<h1 v-show="shows">ff</h1>
		</div>
	</body>
	
	<script>
		var app=new Vue({
			el:"#app",
			data:{
				ok:false,
				shows:true
			}
		})
	</script>
</html>

运行后
在这里插入图片描述
修改shows的值为false
在这里插入图片描述
页面显示空空如也

for

遍历集合

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script src="js/vue.js" type="application/javascript" charset="UTF-8"></script>
	<body>
		<div id="app">
			<!--
			item:当前的值
			index:索引值
			list:集合名称
			-->
			<p v-for="(item,index) in list">
				{{index}} - {{item.value}}
			</p>
		</div>
	</body>
	<script>
		var app=new Vue({
			el:"#app",
			data:{
				list:[
					{value:"a"},
					{value:"b"},
					{value:"c"}
				]
			}
		})
	</script>
</html>

在这里插入图片描述
遍历对象

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script src="js/vue.js" type="application/javascript" charset="UTF-8"></script>
	<body>
		<div id="app">
			<p v-for="item in obj">
				{{item}}
			</p>
		</div>
	</body>
	<script>
		var app=new Vue({
			el:"#app",
			data:{
				obj:{
					name:"名称",
					sex:"性别"
				}
			}
		})
	</script>
</html>

在这里插入图片描述

第三种方式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script src="js/vue.js" type="application/javascript" charset="UTF-8"></script>
	<body>
		<div id="app">
			<p v-for="(item,name,index) in obj">
				{{index}} - {{name}} - {{item}} 
			</p>
		</div>
	</body>
	<script>
		var app=new Vue({
			el:"#app",
			data:{
				obj:{
					name:"名称",
					sex:"性别"
				}
			}
		})
	</script>
</html>

在这里插入图片描述
从方法中取出结果并且排序

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script src="js/vue.js" type="application/javascript" charset="UTF-8"></script>
	<body>
		
		<div id="app">
			
			<!-- 遍历计算属性,对数组进行筛选操作 -->
			<p v-for="item in filterList">
				{{item.value}}
			</p>
		</div>
	</body>
	<script>
		var app=new Vue({
			el:"#app",
			data:{
				list:[
					{name:"a",value:"aa"},
					{name:"b",value:"bb"},
					{name:"c",value:"cc"}
				],
			},
			computed:{
				filterList:function(){
					return this.list.filter(
						function(v){
							if(v.name == "a"){
								return v
							}
						}
					)
				}
			}
		})
	</script>
</html>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringMVC是一个基于Java语言的MVC框架,用于构建Web应用程序。它的逻辑架构主要包括控制器、模型和视图。 控制器(Controller)负责处理客户端的请求,它接收来自客户端的请求并将其路由到相应的处理程序进行处理。在SpringMVC中,控制器通常由带有@Controller注解的Java类表示,它们通过@RequestMapping注解来定义其所处理的请求路径和请求方法。 模型(Model)用于封装应用程序的业务逻辑和数据。在SpringMVC中,模型通常由JavaBean表示,它们负责存储应用程序的数据以及定义应用程序的业务逻辑。模型对象将与视图共同工作,为视图提供数据。 视图(View)负责呈现模型的数据给客户端。在SpringMVC中,视图通常由HTML、JSP、Thymeleaf等模板引擎来表示,它们将模型中的数据进行渲染,并将最终的HTML内容返回给客户端。 Vue是一个流行的JavaScript框架,它主要用于构建用户界面。它的逻辑架构主要包括组件、数据驱动和虚拟DOM。 组件(Component)是Vue应用程序的基本构建块,它将应用程序划分为独立的可重用模块。每个组件都有自己的模板、脚本和样式,它们可以相互嵌套、组合和通信,以构建复杂的用户界面。 数据驱动(Data-Driven)是Vue的核心思想之一,它使得DOM与数据之间产生了关联。当数据发生变化时,DOM会作出相应的更新,从而实现了视图与数据的同步。 虚拟DOM(Virtual DOM)是Vue的一个重要特性,它通过虚拟DOM树与真实DOM树之间的比较,找出需要更新的部分,并最小化DOM操作,从而提高了应用程序的性能。 综上所述,SpringMVC和Vue都是流行的Web开发框架,它们分别负责处理后端的业务逻辑和前端的用户界面,通过它们的协作,可以构建出功能强大的Web应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值