大家好啊,我是小窝我们又见面啦
Vue开发小技巧系列-Part1
在Vue.js中,开发者有许多强大的工具和技巧可用来提高代码的可维护性和效率。小编准备做一个系列专门介绍一些Vue开发的小技巧,帮助你更好地利用Vue的功能。本文将介绍以下四个技巧:
1、优雅的更新props
2、Provide/inject
3、小型状态管理器
4、卸载watch观察
优雅的更新props
更新prop在业务中是很常见的需求,但在子组件中不允许直接修改prop,因为这种做法不符合单向数据流的原则,在开发模式下还会报出警告。因此大多数人会通过$emit触发自定义事件,在父组件中接收该事件的传值来更新prop。
示例示例通常用这种手段来更新prop。但如果你只是想单纯的更新prop,没有其他的操作,只需要在绑定属性上添加.sync,在子组件内部就可以触发update:属性名来更新prop。可以看到这种手段确实简洁且优雅,这让父组件的代码中减少一个“没必要的函数”。
示例示例Provide/inject
父子组件传递数据时一般用props进行传递,如果出现隔代组件,可以通过provide/inject实现。这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在其上下游关系成立的时间里始终生效。
简单来说,一个组件将自己的属性通过provide暴露出去,其下面的子孙组件inject即可接收到暴露的属性。
示例示例小型状态管理器
大型项目中的数据状态会比较复杂,一般都会使用vuex来管理。但在一些小型项目或状态简单的项目中,为了管理几个状态而引入一个库,显得有些笨重。
在2.6.0+版本中,新增的Vue.observable可以帮助我们解决这个尴尬的问题,它能让一个对象变成响应式数据。
示例示例也可以自定义mutation来复用更改状态的方法
示例示例卸载watch观察
定义数据观察,会使用选项的方式在watch中配置,也可以在生命周期中通过函数的形式进行。
示例示例通过函数这种方式使定义数据观察更灵活,而且$watch会返回一个取消观察函数,用来停止触发回调,另外函数还可以接收第三参数作为配置项。
示例示例各位读者老爷觉得不错就赏个