vue的两个案例

千米和米的转换

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="box">
			千米:<input type="text" name="" id="" value="" v-model="qianmi"/>
			米:<input type="text" name="" id="" value="" v-model="mi"/>
		</div>
	</body>
</html>
<script type="text/javascript">
	new Vue({
		el:"#box",
		data:{
			msg: "hello vue",
			qianmi:"",
			mi:"",
		},
		watch:{
			qianmi:function(value){
				this.qianmi = value;
				this.mi = value*1000;
			},
			mi:function(value){
				this.qianmi = value/1000;
				this.mi = value;
			}
		}
	});
</script>

时间绑定之美女图片跳转

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="box" align="center">
			
			<img v-bind:src="imgUrl" width="250px" height="350px">
			<br>
			<button @click="show()">美女1按钮</button>
			<button @click="test()">美女2按钮</button>
			<button @click="haha()">美女3按钮</button>
		</div>
	</body>
</html>
<script type="text/javascript">
	//指令:特殊的行间属性,在vue中的指令都是以 v-开头
	new Vue({
		el:"#box",
		data: {
			imgUrl:"img/girl1.jpg"

		},
		//定义事件的处理函数的
		methods: {
			show() {
				this.imgUrl="img/girl1.jpg";
			},
			//es6的语法
			test() {
				this.imgUrl="img/girl3.1.jpg";
			},
			haha() {
				this.imgUrl="img/girl4.jpg";
			}
		}
	});
</script>

vue增删改查

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="box">
					<div id="" align="center">
						<h1 align="center">请添加学生</h1>
						姓名:<input type="text" id="" value="" v-model="name" />
						年龄:<input type="text" id="" value="" v-model="age" />
						<input type="button" id="" value="添加学生" @click="addObj()" />
					</div>
					<br>
					<br>
					<br>
					<table border="1" cellspacing="0" width="65%" align="center">
						<caption>
							<h1>学生信息表</h1>
						</caption>
						<tr>
							<th>编号</th>
							<th>姓名</th>
							<th>年龄</th>
							<th>操作</th>
						</tr>
						<tr v-for="(obj,index) in jsonArr" :key="index" align="center">
							<td>{{index+1}}</td>
							<td>{{obj.name}}--<a href="#" @click="changeName(index)">修改</a></td>
							<td>{{obj.age}}--<a href="#" @click="changeAge(index)">修改</a></td>
							<td><a href="#" @click="delItem(index)">删除</a></td>
						</tr>
						<tr align="center">
							<td colspan="4" v-if="jsonArr.length!=0"><button type="button" @click="clearAll()">{{mes}}</button></td>
							<td colspan="4" v-else>没有更多数据请你添加</td>
						</tr>
					</table>
				</div>
	</body>
</html>
<script type="text/javascript">
	new Vue({
		el: '#box',
		data: {
			name: '',
			age: '',
			jsonArr: [],
			mes:'全部删除'
		},
		methods: {
			delItem(index){
				if (window.confirm("确认要删除吗?")) {
						//alert(index);
						//数据一变化,视图就会更新。
						//splice() 删除元素,并向数组添加新元素。 
						this.jsonArr.splice(index, 1);
					}
				},
			
			addObj() {
				var name = this.name;
				var age = this.age;
				//非空判断
				if (!name || !age) {
					alert("用户名或年龄不能为空")
					return;
				}


				var obj = {
					"name": name,
					"age": age
				};
				//unshift() 向数组的开头添加一个或更多元素,并返回新的长度 
				this.jsonArr.push(obj);

				//添加完之后,把旧数据清空掉
				this.name = '';
				this.age = '';
			},
			clearAll() {
				if (window.confirm("确认全部删除吗?")) {
					this.jsonArr.splice(0);
					//this.jsonArr=[];
				}
			},
			changeName(index){
				
					this.jsonArr[index].name=prompt("请输入姓名");
				
			},
			changeAge(index){
				this.jsonArr[index].age=prompt("请输入年龄");
			}
		}
	})
	
	// 删除一个,修改姓名 修改年龄
	//当没有一条数据时,不显示全部删除按钮,而是显示没有更多数据请你添加,如果有了一条数据就显示全部删除。
</script>
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页