在开发中,我发现的reactive和ref
在开发中,我发现了一个问题,就是在element-plus -table 组件中使用ref(), 定义的数据,在vue文件内部去修改这个响应式数据,任何时候,响应式数据改变,基本上视图也会跟着变化。
但是当我觉得vue文件中script中的代码太长了,将一些功能抽出来,通过引入外部函数的方式去更新响应式数据时,就算我把响应式数据当做参数,或者通过provide的方式去传递时,更新都不会出发视图更新,使用$forceUpdate() 也不生效。
但是当通过reactive定义的方式时, 就可以更新:
ex:
import {func} from 'tool/func.ts'
let data = reactive({data:[] })
func(data )
然后引入的外部函数中,func(data){
data.data = [1,2,3]
}
这样子去更新的话,视图就会更新,而且都不需要执行$forceUpdate()