watch
比如当父组件向子组件动态传值时,子组件props首次获取到父组件传来的默认值时,也需要执行函数,此时就需要将immediate设为true。
immediate表示在watch中首次绑定的时候,是否执行handler,值为true则表示在watch中声明的时候,就立即执行handler方法,值为false,则和一般使用watch一样,在数据发生变化的时候才执行handler。
当需要监听一个对象的改变时,普通的watch方法无法监听到对象内部属性的改变,只有data中的数据才能够监听到变化,此时就需要deep属性对对象进行深度监听。
表单校验 $refs
/* 表单校验 */
validate(callback){
this.$refs.form.validate(valid => {
callback(valid)
})
},
PostReservationAccount () {
this.$refs.postAccountData.validate(valid => {
if (valid) {
this.postAccountData.reservationTime = new Date(this.postAccountData.reservationTime).getTime()
PushReservationAccount(this.postAccountData).then((result) => {
if (result.status == 1) {
this.$message({ message: '预约成功', type: 'success' })
this.centerDialogVisible = false
this.postAccountData = {}
} else {
this.$message({ message: result.message, type: 'error' })
}
}).catch((err) => {
this.$message({ message: err, type: 'error' })
});
}
});
},
this.$nextTick(() => {
this.$refs.loginForm.clearValidate();
})
this.
s
e
t
(
t
a
r
g
e
t
,
k
e
y
,
v
a
l
u
e
)
给
对
象
加
了
一
个
属
性
,
在
控
制
台
能
打
印
出
来
,
但
是
却
没
有
更
新
到
视
图
上
时
,
使
用
t
h
i
s
.
set( target, key, value ) 给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时, 使用this.
set(target,key,value)给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,使用this.set()。
调用方法:this.$set( target, key, value )
target:要更改的数据源(可以是对象或者数组)
key:要更改的具体数据(索引)
value :重新赋的值
this.$set(this.searchDatas[index], 'children', data)
class :class
:class="[item[valueKey] === value && 'active']"
满足前面条件显示’active’样式
:class="{'container-active': containerActive, 'container-success': containerSuccess, 'container-fail': containerFail}"```
满足containerActive显示'container-active'样式