filterBasicList:{ deep:true, handler(newVal){ this.addRules() } }
时间: 2024-02-15 17:27:03 浏览: 165
这段代码是什么意思?
这是一个 Vue 组件中的代码,其中 filterBasicList 是一个数据属性。当 filterBasicList 发生变化时,即被修改后,会触发 handler 函数,进而调用 addRules 函数。deep:true 表示监听 filterBasicList 的变化时,需要递归监听其内部属性的变化。
相关问题
watch: { '$store.state.crossborderCartList': { handler: function(newVal, oldVal) { this.count = 0; newVal.forEach(data => { data.cartItems.forEach(item => { this.count += item.quantity; }); }); }, deep: true } },让页面一进入就加载计算
这段代码是一个 Vue 组件中的 watch 属性,用于监听 Vuex store 中的 crossborderCartList 对象的变化。一旦 crossborderCartList 对象发生变化,就会触发该函数中的代码,重新计算 count 的值。
如果想要页面一进入就加载计算,可以将该函数提取出来,然后在组件的 created 生命周期钩子函数中调用一次。代码如下:
```
watch: {
'$store.state.crossborderCartList': {
handler: 'updateCount',
deep: true
}
},
created() {
this.updateCount(this.$store.state.crossborderCartList);
},
methods: {
updateCount(newVal, oldVal) {
this.count = 0;
newVal.forEach(data => {
data.cartItems.forEach(item => {
this.count += item.quantity;
});
});
}
}
```
watch: { // 监听弹层的打开状态 // 当弹层打开时请求部门负责人列表 // 细节: immediate: true 页面一进来就立马执行监听 showDialog: { async handler(newVal) { if (newVal) { this.managerList = await getSimpleListApi() console.log(this.managerList) } }, immediate: true }, currentId: { immediate: true, handler(newVal) { this.formData.pid = newVal } } },代码详解
这是一个 Vue.js 组件中的 watch 选项,用于监听弹层的打开状态、currentId 和 showDialog 两个属性的变化。其中,immediate: true 表示在组件创建时立即执行监听函数。
当 showDialog 属性被设置为 true 时,表示弹层被打开,此时会调用 getSimpleListApi() 函数来获取部门负责人列表,并将结果保存在 managerList 变量中。
当 currentId 属性发生变化时,会将新的值赋值给 formData.pid 属性。
总的来说,这段代码的作用是实现了在弹层打开时自动请求部门负责人列表,并将选中的部门 ID 赋值给表单数据的相应字段。
阅读全文