首页 > 其他分享 >学vue的第二天:watch()事件侦听

学vue的第二天:watch()事件侦听

时间:2023-01-02 12:22:05浏览次数:40  
标签:vue 黄冈 dList watch else cList 侦听


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js" type="text/javascript"></script>
		<style type="text/css">
			select {
				width: 75px;
			}
		</style>
	</head>
	<body>
		<div id="jilian">
			<select v-model="p">
				<option v-for="prov in pList" v-bind:value="prov">{{prov}}</option>
			</select>
			<select v-model="c">
				<option v-for="city in cList" v-bind:value="city">{{city}}</option>
			</select>
			<select v-model="d">
				<option v-for="dist in dList" v-bind:value="dist">{{dist}}</option>
			</select>
		</div>

		<script>
			new Vue({
				el: "#jilian",
				data: {
					p: "",
					pList: ["湖北省", "浙江省"],
					c: "",
					cList: [],
					d: "",
					dList: []
				},
				// 这里侦听的内容为data里进行数据绑定的内容【这里有p,c,d】,名称需要一致,侦听内容需要修改可以定义方法来对侦听到的内容进行修改
				watch: {
					// 对p侦听
					p() {
						if (this.p == "湖北省") {
							this.cList = ["武汉市", "黄冈市"]
							this.c = this.cList[0]
						} else if (this.p == "浙江省") {
							this.cList = ["杭州市", "金华市"]
							this.c = this.cList[0]
						}
					},
					// 对c侦听,并且根据侦听到的内容相应做出变化
					c() {
						if (this.c == "武汉市") {
							this.dList = ["江汉区", "江夏区", "洪山区"]
							this.d = this.dList[0]
						} else if (this.c == "黄冈市") {
							this.dList = ["黄冈1区", "黄冈2区", "黄冈1区"]
							this.d = this.dList[0]
						} else if (this.c == "杭州市") {
							this.dList = ["西湖区", "钱塘区", "上城区"]
							this.d = this.dList[0]
						} else if (this.c == "金华市") {
							this.dList = ["金华1区", "金华2区", "金华3区"]
							this.d = this.dList[0]
						}
					}
				}
			});
		</script>
	</body>
</html>


得到效果:

标签:vue,黄冈,dList,watch,else,cList,侦听
From: https://www.cnblogs.com/Liku-java/p/17019717.html

相关文章

  • Vue案例——todolist
    最近在学习vue,实现todolist案例,实现效果如下:   该案例分为四个部分:header为输入框,body为列表,item是列表中的条目,footer为最下方的统计。实现步骤:①创建项目 v......
  • 校招前端二面高频vue面试题
    vue-router中如何保护路由分析路由保护在应用开发过程中非常重要,几乎每个应用都要做各种路由权限管理,因此相当考察使用者基本功。体验全局守卫:constrouter=createR......
  • vue为什么v-for的优先级比v-if的高?
    前言有时候有些面试中经常会问到v-for与v-if谁的优先级高,这里就通过分析源码去解答一下这个问题。下面的内容是在当我们谈及v-model,我们在讨论什么?的基础上分析的,所以......
  • vue的生命周期
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <scriptsrc="js/vue.js"type="text/javascript"charset="utf-8"></script> </head......
  • new Vue的时候到底做了什么
    Vue加载流程1.初始化的第一阶段是Vue实例也就是vm对象创建前后:首先Vue进行生命周期,事件初始化发生在beforeCreate生命周期函数前,然后进行数据监测和数据代理的初始化,也就......
  • vue2 项目25
    app.js:<template><divid="app"><router-view></router-view></div></template><stylelang="less">body,html{margin:0;padding:0;height......
  • 2023前端二面高频vue面试题集锦
    vuex是什么?怎么使用?哪种功能场景使用它?Vuex是一个专为Vue.js应用程序开发的状态管理模式。vuex就是一个仓库,仓库里放了很多对象。其中state就是数据源存放地,对应于......
  • Vue3的响应系统
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content=......
  • 企业级低代码平台,JeecgBoot-Vue3版 v1.3.0 版本正式发布
    项目介绍Jeecgboot-Vue3采用Vue3.0、Vite、Ant-Design-Vue、TypeScript等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。Je......
  • Vue单页面与多页面的区别
    ​定义SPA单页面应用(SinglePageWebApplication),指只有一个主页面的应用(一个html页面),一开始只需要加载一次js、css的相关资源。所有内容都包含在主页面,对每一个功能模块......