s

在开发中,我发现的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()

posted @ 2023-05-04 16:00  努力不搬砖的iori  阅读(43)  评论(0编辑  收藏  举报