vue3 hooks使用watch监听注意事项

发布时间 2023-10-20 15:38:38作者: 沁霓

当我们再vue3 写了一个通用hooks的里面使用watch来执行某些操作要注意!!!

一个页面只能再根路由去创建实例,也就是调用 对呀hooks,如果子路由也需要使用 则由根路由 provide() 子路由inject,如果子路由都创建实例,会造成多次执行监听
例如

我们由一个useSearch,来写通用搜索逻辑,在该hooks使用
路由 Home.vue->Search.vue->SearchInput.vue 我们需要在search和searchInput使用到该hooks
1:在根路由Home.vue 创建实例 const search= useSearch() 然后 provide('search',search)

2:在需要使用到的子路由 const { kw, .....}=inject('search')即可