热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vue的watch使用(如淘宝优惠券设置计算属性时候)

watch比computed灵活watch中可以执行任何逻辑函数节流Ajax异步数据操作DOM重点:依赖固定数据类型(响应式数据)通过vm(Vue实例࿰

watch
比computed灵活
watch中可以执行任何逻辑
函数节流
Ajax异步数据
操作DOM

重点:依赖固定数据类型(响应式数据)

通过vm(Vue实例)对象的$watch()或watch配置来监视指定的属性
当属性变化时候,回调函数自动调用,在函数内部进行计算
在这里插入图片描述

<template><div><label>:<input type&#61;"text" placeholder&#61;"firstName" v-model&#61;"firstName"/></label><p></p><label>:<input type&#61;"text" placeholder&#61;"lastName" v-model&#61;"lastName"/></label><p>单向</p><label>姓名:<input type&#61;"text" placeholder&#61;"fullName" v-model&#61;"fullName"/></label><p>双向</p><label>姓名:<input type&#61;"text" placeholder&#61;"fullName" v-model&#61;"fullNameup"/></label><p>watch监视方法</p><label>姓名:<input type&#61;"text" placeholder&#61;"fullName" v-model&#61;"fullnamewatch"/></label></div>
</template><script scoped>
export default {name: "Testtwo",data() {return {firstName: "",lastName: "",// watch监视的对象fullnamewatch: "",};},// computed默认去实现计算属性的get方法// 这里的computed内部的方法是以函数的形式去体现// 就是像写函数一样去写里面的方法// 配置计算属性
// computed: {
// // 这里先写成一个对象
// // this表示房当前的Tsettwo里面的data&#xff0c;和python中的self属性一样
// fullName: {
// get() {
// return this.firstName &#43; "." &#43; this.lastName;
// },
// },
// fullNameup: {
// get() {
// // 当使用了该方法就打印一下这个(&#96;调用了getter的方法&#96;)
// console.log(&#96;调用了getter的方法&#96;);
// return this.firstName &#43; "." &#43; this.lastName;
// },
// set(value) {
// // 当使用了该方法就打印一下这个
// console.log(&#96;调用了setter的方法&#96;);
// // 使这个名字用点[.]分割开生成一个列表
// let names &#61; value.split(".");
// // 打印出来这个names的列表
// console.log(names);
// // 使这个姓为第一个元素 名为第二个元素
// this.firstName &#61; names[0];
// this.lastName &#61; names[1];
// },
// },
// },// 配置watchwatch: {// 监视firstNamefirstName(value) {console.log(&#96;watch监视到firstName发生改变:${value}&#96;);// 监视到后作出的改变方法this.fullnamewatch &#61; value &#43; "." &#43; this.lastName;},// 监视lastNamelastName(value) {console.log(&#96;watch监视到lastName发生改变:${value}&#96;);// 监视到后作出的改变方法this.fullnamewatch &#61; this.firstName &#43; "." &#43; value;},},
};
</script><style scoped>
</style>

app设置

<template><div><Testtwo /></div>
</template><script>
import Testtwo from "./components/Testtwo";
export default {name: "App",components: {Testtwo,},
};
</script><style scoped>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>

或者用下面这个没有注释之前的代码

<template><div><label>:<input type&#61;"text" placeholder&#61;"firstName" v-model&#61;"firstName"/></label><p></p><label>:<input type&#61;"text" placeholder&#61;"lastName" v-model&#61;"lastName"/></label><p>单向</p><label>姓名:<input type&#61;"text" placeholder&#61;"fullName" v-model&#61;"fullName"/></label><p>双向</p><label>姓名:<input type&#61;"text" placeholder&#61;"fullName" v-model&#61;"fullNameup"/></label><p>watch监视方法</p><label>姓名:<input type&#61;"text" placeholder&#61;"fullName" v-model&#61;"fullnamewatch"/></label></div>
</template><script scoped>
export default {name: "Testtwo",data() {return {firstName: "",lastName: "",// watch监视的对象fullnamewatch: "",};},// computed默认去实现计算属性的get方法// 这里的computed内部的方法是以函数的形式去体现// 就是像写函数一样去写里面的方法// 配置计算属性computed: {// 这里先写成一个对象// this表示房当前的Tsettwo里面的data&#xff0c;和python中的self属性一样fullName: {get() {return this.firstName &#43; "." &#43; this.lastName;},},fullNameup: {get() {// 当使用了该方法就打印一下这个(&#96;调用了getter的方法&#96;)console.log(&#96;调用了getter的方法&#96;);return this.firstName &#43; "." &#43; this.lastName;},set(value) {// 当使用了该方法就打印一下这个console.log(&#96;调用了setter的方法&#96;);// 使这个名字用点[.]分割开生成一个列表let names &#61; value.split(".");// 打印出来这个names的列表console.log(names);// 使这个姓为第一个元素 名为第二个元素this.firstName &#61; names[0];this.lastName &#61; names[1];},},},// 配置watchwatch: {// 监视firstNamefirstName(value) {console.log(&#96;watch监视到firstName发生改变:${value}&#96;);// 监视到后作出的改变方法this.fullnamewatch &#61; value &#43; "." &#43; this.lastName;},// 监视lastNamelastName(value) {console.log(&#96;watch监视到lastName发生改变:${value}&#96;);// 监视到后作出的改变方法this.fullnamewatch &#61; this.firstName &#43; "." &#43; value;},},
};
</script><style scoped>
</style>

推荐阅读
  • 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细]
  • 本文介绍了停用Vaadin焦点颜色的全局方法。焦点环是一种辅助功能,用于指示字段已从键盘交互获得焦点。每个组件和主题的焦点环样式不同。文章提供了一种方便的方法来找到和修改焦点环样式,通过检查shadow DOM中的标签并覆盖相应的样式。同时,还介绍了使用with或导入样式表的方法来应用修改后的样式。 ... [详细]
  • 本文讨论了将HashRouter改为Router后,页面全部变为空白页且没有报错的问题。作者提到了在实际部署中需要在服务端进行配置以避免刷新404的问题,并分享了route/index.js中hash模式的配置。文章还提到了在vueJs项目中遇到过类似的问题。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • 如何优化Webpack打包后的代码分割
    本文介绍了如何通过优化Webpack的代码分割来减小打包后的文件大小。主要包括拆分业务逻辑代码和引入第三方包的代码、配置Webpack插件、异步代码的处理、代码分割重命名、配置vendors和cacheGroups等方面的内容。通过合理配置和优化,可以有效减小打包后的文件大小,提高应用的加载速度。 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • vb.net不用多线程如何同时运行两个过程?不用多线程?即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。不用多线程更不可能让两个过程同步执行了。不过可 ... [详细]
  • ASP.NET&Spring.NET&NHibernate最佳实践(五)——第3章人事子系统(2)
    3.4.人事子系统服务层(Service)部门服务接口(IDeptService.cs)usingSystem;usingGuushuuse.SalaryPrj. ... [详细]
  • pythonMatplotlib(二)
    Matplotlib+pandas作图一、对csv文件进行提取ruixi.csv对上述表格进行提取并做图画出图像二、对.xlsx进行提取:rui ... [详细]
  • 动量|收益率_基于MT策略的实战分析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于MT策略的实战分析相关的知识,希望对你有一定的参考价值。基于MT策略的实战分析 ... [详细]
author-avatar
mobiledu2502872907
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有