uniapp通过watch监听和computed的使用

这篇具有很好参考价值的文章主要介绍了uniapp通过watch监听和computed的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 普通监听一(无法监听到第一次绑定的变化)

当值第一次绑定的时候,watch不会执行监听函数,只有当值改变的时候 才会执行

<input type="text" v-model="length"/>  
//监听  长度length值发生变化时触发
watch: {
    length (newLength, oldLength) {
        console.log(newLength)
    }
}

2. 普通监听二(可以监听到第一次绑定的变化)

如果要让第一次绑定的时候执行监听函数,则需要把 immediate设置为true

<input type="text" v-model="length"/>  
//监听  长度length值发生变化时触发
watch: {
    length: {
        handler (newLength, oldLength) {
            console.log(newLength)
        },
        immediate: true
    }
}

3. 深度监听(可监听对象内属性变化)

如果要监听对象内部属性,需要把 deep设置为true

<input type="text" v-model="students.name" />
data (){
    return {
        students: {name:'小明'}
    }
},
watch: {
    students: {
        handler(newName, oldName) {
            console.log(newName)
        },
        immediate: true,
        deep: true
    }
}

4. 监听多个数据( 通过computed )

computed适合对多个变量或者对象进行处理后返回一个结果值,也就是多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化

computed:{
	userInfo(){
		const { username, password } = this
		return { username, password }
	},
},
watch:{
	  userInfo: function (e) {
		  console.log(e); // 如果用户数据改变时打印新数据
	},
},

5. computed的介绍与应用

  1. 定义:一个计算属性,计算属性可用于快速计算视图(View)中显示的属性
  2. computed用来监控自己定义的变量,该变量不在data里面声明,直接在computed里面定义,然后就可以在页面上进行双向数据绑定展示出结果或者用作其他处理
// 计算面积
<template>
	<view>
		<view
			长度:<input v-model="length" type="text"></input>
		</view>
		<view>
			宽度:<input v-model="width" type="text"></input>
		</view>
		<view>
			面积:<input v-model="areas" type="text"></input>
		</view>
 
	</view>
</template>
 
<script>
	export default {
		data() {
			return {
				length: '',
				width: ''
			}
		},
		computed: {
			areas: function() {
				return this.length * this.width // 未在data里声明,可直接进行双向绑定到 area
			}
		},
	}
</script>

长度和宽度的数据改变,面积就会改变。也就是说使用computed会自动执行计算函数,计算出面积。文章来源地址https://www.toymoban.com/news/detail-433168.html

到了这里,关于uniapp通过watch监听和computed的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue 初始化方法 create,beforeMount,mount,computed,watch 方法执行顺序及使用场景

    前言:vue 存在一些基本属性和相关对象如果合理使用,可以避免代码混乱 执行顺序 create beforeMount computed mounted watch 方法说明 created执行时挂载阶段还没有开始,模版还没有渲染成html,所以无法获取元素。created钩子函数主要用来初始化数据。 beforeMount 这一步的时候,模版已经

    2024年02月11日
    浏览(40)
  • computed和watch

    computed: 写法: watch,第一个参数是要监听的对象,第二个参数是监听的方法,第三个参数是监听的配置 两个小“坑”: 1.监视reactive定义的响应式数据时: oldValue无法正确获取、强制开启了深度监视(deep配置失效)。 2.监视reactive定义的响应式数据中某个属性时: deep配置有效。 数据

    2023年04月25日
    浏览(23)
  • watch computed 和 method

    在Vue中, watch 、 computed 和 methods 是三种不同的属性,用于处理不同的场景和需求。 watch : watch 用于监听数据的变化并执行相应的操作。当被监听的数据发生变化时,会触发相应的回调函数。 watch 适用于需要在数据变化时执行异步或复杂的操作,或者需要监听多个数据的变

    2024年02月11日
    浏览(41)
  • 在 Vue.js 中,使用 watch 监听data变量如:对象属性/data变量

    在 Vue.js 中,使用 `watch` 监听对象属性 的变化时,应该将属性名作为 字符串 传递给 `watch` 选项。 示例如下: ```javascript updateAddChuZhenForm函数 现在,当 `isCheck1` 或 `isCheck2` 的值发生变化时,相应的 `watch` 函数将被触发。 ``` 如果你想要 监听一个普通变量 ,而 不是 Vue 实例的属

    2024年02月09日
    浏览(35)
  • 学习Vue:computed VS watch

    在 Vue.js 中,Vue 实例与数据绑定不仅限于简单的插值表达式和指令。在实际开发中,您可能会遇到更复杂的数据处理需求。为此,Vue 提供了计算属性和侦听器这两个强大的工具,让您能够更灵活地处理和响应数据变化。 计算属性是 Vue 实例中的一个特殊属性,它允许您定义一

    2024年02月12日
    浏览(58)
  • 浅谈Vue的属性,computed和watch

    是什么? 直接上demo,了解一下语法先~ conputed是 计算 属性,watch是 监听 属性,本质上都是同一个 watcher实例 ,它们都是 通过响应式系统与数据,页面建立通信 。 computed带有 \\\"懒计算\\\" 功能 监听的逻辑有差异 :computed是依赖的值变了,它去重新求值,watch是目标值变了,它去

    2024年01月18日
    浏览(33)
  • Vue3的computed和watch

    目录 1、computed 2、computed完整写法  3、watch 4、watch监听对象具体属性 5、watch 监听reactive数据 1、computed 基于现有的数据计算出新的数据 2、computed完整写法   3、watch 1 . 侦听一个数据 第一个参数:监听的数据 第二个回调函数 2.侦听多个数据 第一个参数监听的数据构成的数组

    2024年01月24日
    浏览(30)
  • Vue 中的 computed 和 watch 的区别

    在Vue.js中, computed 和 watch 是两个常用的属性,用于处理数据的监听和响应。它们在功能上有一些相似之处,但也有一些重要的区别。本文将介绍 computed 和 watch 的区别,并提供相关的代码示例。 Vue 中的 computed 和 watch 都是用来观察数据变化的,但它们的用途和特点略有不同

    2024年02月07日
    浏览(34)
  • Vue3学习——computed、watch、watchEffect

    与Vue2.x中computed配置功能一致 写法 注意 监视reactive定义的响应式数据时:oldValue无法正确获取、强制开启了深度监视(deep配置失效)。 监视reactive定义的响应式数据中的某个属性时:deep配置有效。 情况一:监视ref定义的响应式数据 监视ref定义的对象,改变某一个属性时,

    2024年02月22日
    浏览(47)
  • vue3 computed 和 watch 的差异

    🙂博主:锅盖哒 🙂文章核心: vue3 computed 和 watch 的差异 目录 前言 用法 computed watch 代码 理解 高质量的使用 Vue.js作为一种现代化的前端框架,提供了丰富的特性来帮助开发者构建高效和响应式的用户界面。在这其中, computed 和 watch 是两个非常重要的选项,它们都用于处理

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包