前端框架Vue----监视属性

定义

通过watch去监视一个已存在属性的变化,其值变化会触发handler回调函数的执行。

<script type="text/javascript">
        Vue.config.productionTip = false
        new Vue({
            el: '#container',
            data: {
                sex: false,
                lauf: '依赖属性的值',
            },
            methods: {
                changeSex: function(event){
                    // event事件源
                    // this 是Vue实例对象
                    this.sex = !this.sex
                },
            },
            computed: { //计算属性
                info(){
                    return this.lauf
                },
            },
            watch: {//监视属性
                sex: {//监视一个必须存在的属性,
                    // 包括data中的一般属性、computed中的计算属性
                    // 属性值改变,则触发handler
                    immediate: true, //初始化时,即调用一次,认为值改变
                    handler(newValue, oldValue){
                        //this 是Vue实例
                        console.log(this)
                        console.log('监视到属性值的变化', newValue, oldValue)
                    },
                },
            },
        })
    </script>

在这里插入图片描述
监视属性还可以如下形式:

//vm 视图模型, 即Vue实例对象
vm.$watch("info", {
            immediate: true,//属性在初始化的时候,随即调用一次
            handler(newValue, oldValue) {
                //this 是Vue实例
                console.log(this)
                console.log('监视到属性值的变化', newValue, oldValue)
            }
        }
        )

深度监视

watch监视属性,默认只监视属性值的变化,若属性值是一个对象,对象内部的属性变化则监视不到。只有设置deep:true时,才能监视到内部属性的变化,且可以多层级的监视。

watch: {//监视属性
       info: {//监视一个必须存在的属性,
            // 包括data中的一般属性、computed中的计算属性
            // 属性值改变,则触发handler
            immediate: true, //初始化时就调用一次
            handler(newValue, oldValue) {
                //this 是Vue实例
                console.log(this)
                console.log('监视到属性值的变化', newValue, oldValue)
            },
        },
        tom: { //监视tom属性,仅仅是监视其值,其值是对象{name:'', age:23}
            // 对象内部的变化,默认不监测
            deep: true,//监视对象的内部变化
            handler(){
                console.log("tom内部属性变化")
            },
        },
        'tom.age': {
        	//监视tom对象内部的age
        	handler(){
        		console.log("深度监视age")
        	}
        }
},

在这里插入图片描述

监视属性简写

采用默认监视属性时,即单层次,可以使用简写形式
此时没有如下设置:
immediate: true,
deep: true

watch: {
	tom(newValue, oldValue){//单层次监视
		console.log('tom属性值改变了')
	}
}


//或者
vm.$watch('tom', function(newValue, oldValue){console.log("tom属性值改变了")})

监视属性与计算属性

  1. 两者都能实现功能时,优先选择计算属性
  2. 实现一些异步的任务时,优先选择监视属性
computed: {
      calcAttr: {
          get(){
             setTimeout(()=>{this.name='jack'}, 1000)
             return this.name //计算属性也可以异步
          },
          set(){},
      },
          },

注意:
所有被Vue管理的函数,一般写成普通函数(不是箭头函数),这样this才是Vue实例;
所有不被Vue管理的函数,如定时器的回调函数、ajax异步请求的回调函数(axios/promise)等,最好写成箭头函数,这样this才是Vue实例或者组件实例。
属性值发生变化,看有没有依赖该属性的计算属性;有没有监视属性

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: vue-devtools-5.1.1.zip 是一个用于 Vue.js 的开发工具包,它提供了在 Chrome 浏览器中进行 Vue.js 应用程序调试的能力。 在 Chrome 浏览器中,我们可以通过安装 vue-devtools-5.1.1.zip 这个插件来使用这个开发工具。安装插件后,我们可以在开发者工具中找到 Vue Devtools 选项,并点击进行打开。 打开 Vue Devtools 后,我们可以看到左侧面板列表列出了 Vue.js 应用程序的组件层次结构。通过展开组件,我们可以查看每个组件的状态、属性和事件。可以通过在这些组件上进行查看、编辑和监视来进行调试。 此外,Vue Devtools 还提供了性能分析的功能。我们可以通过选择 Performance 标签并执行一些操作来检查 Vue 应用程序的性能瓶颈。这个工具可以帮助我们优化代码并提高应用程序的性能。 总之,vue-devtools-5.1.1.zip 是一个方便的开发工具包,能够帮助我们在 Chrome 浏览器中进行 Vue.js 应用程序的调试和性能分析。通过使用它,我们可以更方便地开发和调试 Vue.js 应用程序,并优化其性能。 ### 回答2: vue-devtools-5.1.1.zip 是 Vue.js 的开发者工具的版本为 5.1.1 的压缩文件。Chorme 是指 Google Chrome 这个浏览器。 Vue.js 是一个流行的 JavaScript 前端框架,使用它可以更高效地构建用户界面。而 vue-devtools 则是 Vue.js 的浏览器插件,帮助开发者在 Chrome 浏览器上更方便地调试和分析 Vue.js 应用程序。 vue-devtools-5.1.1.zip 是 vue-devtools 的一个特定版本的压缩文件,包含了安装 vue-devtools 所需的所有文件。这个压缩文件可以通过下载的方式获取。 Chorme 是一款流行的网络浏览器,被广泛应用于各种操作系统和设备上。为了使用 vue-devtools,你需要将下载的 vue-devtools-5.1.1.zip 文件解压缩,并在 Chrome 浏览器中安装 vue-devtools 插件。安装成功后,你可以在开发者工具中找到 Vue 选项卡,以便于调试 Vue.js 应用程序。 总结起来,vue-devtools-5.1.1.zip 是 Vue.js 的开发者工具的特定版本的压缩文件,Chorme 是指用于安装该压缩文件并调试 Vue.js 应用程序的 Google Chrome 浏览器。 ### 回答3: vue-devtools-5.1.1.zip是Vue.js开发工具的压缩文件,用于在Chrome浏览器中进行Vue.js应用程序的开发和调试。此工具是由Vue.js团队开发的,旨在简化开发人员在开发过程中对Vue.js应用程序进行调试和分析的工作。 使用vue-devtools,开发人员可以方便地检查Vue组件的状态、观察和修改数据、查看组件层次结构等。它提供了一个直观的用户界面,让开发人员可以更好地了解和分析他们的Vue.js应用程序。 要将vue-devtools添加到Chrome浏览器中,首先需要将zip文件下载到本地计算机。然后,在Chrome浏览器的地址栏中输入"chrome://extensions/",打开扩展程序页面。在该页面的右上角开启开发者模式,然后点击"加载已解压的扩展程序"按钮。 选择下载的vue-devtools zip文件,然后点击确认。这样,vue-devtools就会被添加到Chrome浏览器的扩展程序列表中。之后,在开发Vue.js应用程序时,可以通过单击Chrome浏览器的扩展程序图标,打开vue-devtools面板,并进行相关调试和分析操作。 总之,vue-devtools是一个非常有用的工具,可以大大简化Vue.js应用程序的开发和调试过程,提高开发效率。通过将其添加到Chrome浏览器中,开发人员可以更方便地使用此工具进行Vue.js应用程序的调试和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laufing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值