使用watch监听对象里面值的变化
作者:阿wei程序媛 发布时间:2024-06-07 15:22:10
标签:watch,监听,对象,值变化
watch监听对象里面值的变化
后台管理有时候有选择选择框的不同选项,会影响下一个选择框的内容,如下图
.这个时候就可以用到watch监听
1.样式代码
<div class="list">
订单类型:
<el-select v-model="getorderType" placeholder="请选择" @change="getchange">
<el-option
v-for="item in options1"
:key="item.orderType"
:label="item.label"
:value="item.orderType">
</el-option>
</el-select>
</div>
<div class="list">
操作对象:
<el-select v-model="getworksRegion" placeholder="请选择" @change="getchange1">
<el-option
v-for="item in options6"
:key="item.worksRegion"
:label="item.label"
:value="item.worksRegion">
</el-option>
</el-select>
</div>
2.data里的代码
data() {
return {
verifyData: this.propData,
editBoxShow: false,
options1: [{
orderType: '1',
label: '首次出售'
},{
orderType:"2",
label: "二次及以上挂售"
}
],
options2: [{
worksRegion: '0',
label: '原创作品'
},{
worksRegion:"1",
label: "首页大IP"
},
{
worksRegion:"3",
label: "盲盒"
}
],
options5: [{
worksRegion: '0',
label: '原创作品'
},{
worksRegion:"1",
label: "首页大IP"
},{
worksRegion:"2",
label: "官方藏品"
},
{
worksRegion:"3",
label: "盲盒"
}
],
options6:[],
queryParams:{
id:"",
orderType:'',//1 正常订单(首次出售), 2 挂售订单(二次及以上挂售)
worksRegion:"",// 0 原创 1 平台首发 2 官方藏品 3 盲盒
},
getorderType:"",
getworksRegion:"",
};
},
3.watch监听
watch:{
'queryParams.orderType':function (newName,oldName){
if(newName==1){
this.options6 = this.options2
}else if(newName==2){
this.options6 = this.options5
}
}
},
重点监听对象的形式为
watch:{
'queryParams.orderType':function (newName,oldName){//newName 新数据 oldName 老数据
}
},
对以上例子和代码进行理解,就可以理解watch监听对象里的值的变化。
watch如何深度监听对象变化
深度监听
handler
:其值是一个回调函数。监听到变化时应该执行的函数。deep
:其值是true或false;确认是否深入监听。(一般监听时是不能监听到对象属性值的变化的,数组的值变化可以听到。)immediate
:其值是true或false;确认是否以当前的初始值执行handler的函数。
当需要监听一个对象的改变时,普通的watch方法无法监听到对象内部属性的改变,此时需要deep属性对对象进行深度监听
watch: {
obj: {
handler(newValue, oldValue) {
console.log(newValue.id);
this.formData.fid = newValue ? newValue.id : 0;
},
deep: true,
immediate: true
}
},
需要注意得到是 handler 是固定写法,不能用其他的。
immediate表示在watch中首次绑定的时候,是否执行handler,值为true则表示在watch中声明的时候,就立即执行handler方法,值为false,则和一般使用watch一样,在数据发生变化的时候才执行handler。
上面的视图里 之所以刷新马上就执行了 handler函数,就是因为设置了 immediate 属性为 true
来源:https://blog.csdn.net/m0_58565372/article/details/125886702


猜你喜欢
- 简介这是一篇介绍网页设计原则的文章。在互联网迅速发展的今天,各种web 2.0网站竞争激烈,你死我亡。Jini, D
- 本文实例讲述了php生成随机数/生成随机字符串的方法。分享给大家供大家参考,具体如下:有时候我们的项目需要生成随机数,但是又不想那么麻烦,那
- SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一
- 最近在做Python 的项目,特地整理了下 Python 序列的方法。序列se
- 本文实例讲述了PHP函数按引用传递参数及函数可选参数用法。分享给大家供大家参考,具体如下:一、函数按引用传递参数1. 代码<!DOCT
- 一. 概念理解你可能有留意到当你浏览网页时,会有一些推送消息,大多数是你最近留意过的同类东西,比如你想买桌子,上淘宝搜了一下,结果连着几天会
- 小计: 开发中遇到子组件需要调用兄弟组件中的方法,如下写个小demo记录下心得,如果你有好的方法,请到评论区域指教父组件示例代码:组件功能解
- 原则, 以datetime为中心, 起点或中转, 转化为目标对象, 涵盖了大多数业务场景中需要的日期转换处理步骤:1. 掌握几种对象及其关系
- 一、思路分析和效果图用vue来实现一个瀑布流效果,加载网络图片,同时有下拉刷新和上拉加载更多功能效果。然后针对这几个效果的实现,捋下思路:根
- 正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是计算机科学的一个概念。正则表达式使用单个
- 我就废话不多说了,大家还是直接看代码吧~from torch import nnclass SELayer(nn.Module): def
- 使用JS实现在图片上显示左右箭头的翻页代码,预览效果网址:http://www.keleyi.com/keleyi/phtml/picnex
- 深入理解python try异常处理机制#python的try语句有两种风格#一:种是处理异常(try/except/else)#二:种是无
- pygame.transform 模块允许您对加载、创建后的图像进行一系列操作,比如调整图像大小、旋转图片等操作,常用方法如下所示:下面看一
- 在对跨多个表格的数据进行组合时,有时很难搞清楚要使用哪一个SQL句法。我将在这里对将多个表格中的查询合并至单一声明中的常用方式进行阐述。在这
- 更详细的信息可以去查msdn或者Navigator 2.0以后的说明文档,这里我们之做个简单的说明 包括一下几大属性: appCodeNam
- 一、初始化主界面import pygamepygame.init()screen = pygame.display.set_mode((50
- 本文实例为大家分享了Python3实现汉语转换为汉语拼音的具体代码,供大家参考,具体内容如下工具: Python3.6.2,pycharm1
- 前言:协程(coroutine)是 Go 语言最大的特色之一,goroutine 的实现其实是通过协程。协程的概念协程一词最早出现在 196
- MySQL修改字段的默认值和空值修改字段默认值修改:ALTER TABLE 表名 ALTER COLUMN 字段名 SET DEFAULT