IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue中的监视属性watch以及深度监视、监视的简写形式 -> 正文阅读

[JavaScript知识库]Vue中的监视属性watch以及深度监视、监视的简写形式

Vue中的监视属性watch以及深度监视、监视的简写形式

  • 当被监视的属性发生变化时,回调函数自动掉用,进行相关操作
  • 监视的属性必须存在,才能进行监视 🔭
  • 监视的两种写法
    – new Vue时传入watch配置
    – 通过vm.$watch监视
  • immediate:true可以在初始化时让handler调用一下

new Vue时传入watch配置

<body>
		<!-- 准备一个容器 -->
		<div id="root"><input type="text" v-model="firstname"><br/><input type="text" v-model="lastname"><br/>
		</div>
		<script type="text/javascript">
			//创建Vue实例
			new Vue({
				el:"#root", 
				data:{
					firstname:"Chen",
					lastname:"Chuanyang"
				},
				watch:{
					firstname:{
						handler(){
							console.log('firstname被修改成:'+this.firstname)
						}
					}
				}
			})
		</script>
	</body>

通过vm.$watch监视

<body>
		<!-- 准备一个容器 -->
		<div id="root"><input type="text" v-model="firstname"><br/><input type="text" v-model="lastname"><br/>
		</div>
		<script type="text/javascript">
			//创建Vue实例
			const vm = new Vue({
				el:"#root", 
				data:{
					firstname:"Chen",
					lastname:"Chuanyang"
				}
			})

			vm.$watch('firstname',{
				immediate:true, // 初始化时让handler调用一下
				handler(){
					console.log('firstname修改成:'+this.firstname)
				}
			})

		</script>
	</body>

深度监视deep

<script type="text/javascript">
      //创建Vue实例
      const vm = new Vue({
        el: "#root",
        data: {
          firstname: "Chen",
          lastname: "Chuanyang",
          numbers: {
            a: 88,
            b: 99,
          },
        },
        watch: {
          numbers: {
            deep: true, // 不写这一句是没法监视到a和b的单独变化的
            handler() {
              console.log("numbers改变了");
            }
          }
        }
      });
    </script>

监视的简写形式

前提要求:只简单监视属性的变动

<body>
    <!-- 准备一个容器 -->
    <div id="root">
      <input type="text" v-model="firstname" />
      <input type="text" v-model="lastname" />
    </div>
    <script type="text/javascript">
      //创建Vue实例
      const vm = new Vue({
        el: "#root",
        data: {
          firstname: "Chen",
          lastname: "Chuanyang"
        },
        watch: {
          lastname(){
			  console.log('lastname修改了')
		  }
        }
      });
    </script>
  </body>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 12:46:00  更:2021-10-04 12:47:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 22:40:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码