Vue2学习Vue3问个逻辑问题 #11776
RyanFan666
started this conversation in
General Discussions
Vue2学习Vue3问个逻辑问题
#11776
Replies: 1 comment 1 reply
-
这只是原生js的值传递问题,在vue3里你也一样哪里都能改 const data = ref(0)
function plus() {
data.value ++
}
function minus() {
data.value --
}
组合式api更强调逻辑而不是数据,在你的思路中以数据(a参数)为核心,但实际上组合式api的优点是逻辑集中。比如你有两处不同的逻辑都需要用到同一个响应式变量,内部可能还涉及生命周期,数据监听等等: const data = ref(0)
useDataA(data)
useDataB(data)
function useDataA(data) {
watch(data, val => {/* */})
onMounted(() => {/* */})
}
function useDataB(data) {/* */} 选项式api中实现上述就会出现“东一块西一块”的情况,同一部分逻辑,需要你在各种生命周期、watch、data、method、computed等等之间到处跑
不太理解这个是什么意思,你可能说的是原生js中的变量顺序问题: useDataA(data) // ! error
const data = ref(0) 这在原生js中就是错误的,此时data尚未声明,你不能使用一个尚未声明的变量 |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
想问个问题,按照vue3的设计方法,先定义参数,再定义方法,那么我定义了个a参数,底下是a参数对应的1方法,那么我如果在2方法里要改变a参数,我是再调用a参数还是新建个b参数,因为vue2是直接都定义在data里面的,所以不管在哪个方法里都可以修改,那么现在我是修改a参数还是新建b参数呢,这不是背离了组合式api的初衷吗,就是一块一块的,那比如我方法2要用a参数,我不是还得往上翻这个参数叫什么嘛,那不还是跟vue2的data一样,然后vue3好像还有一个就是定义在后面的东西前面的方法不能调用
Beta Was this translation helpful? Give feedback.
All reactions