[Vue]父组件A通过props传入子组件B一个函数f,子组件B想要执行f(null,B的一个data),并判断f中是否用到了第一个参数,如果用到了,再将f通过props传入孙组件C?
[Vue]父组件A通过props传入子组件B一个函数f,子组件B想要执行f(null,B的一个data),并判断f中是否用到了第一个参数(通过try catch),如果用到了,再将f通过props传入孙组件C;否则将执行结果传入C?
父组件A中:
data() { return {
f(p1, p2)
}
}
子组件B中:
<C :f="B_f"></C> computed: {
B_f(){
if 没有用到C的data
return f(null, 自己的一个data){...}
else
return f
}
}
孙组件C中:
<template>...C_f...</template> computed: {
C_f(){
return f(自己的一个data){...}
}
}
目的是
1在组件A里定义一个函数f(参数1为子组件B的一个data,参数2为孙组件C的一个data)
2不能修改孙组件C的代码
这个逻辑看着有点别扭,有什么更好的实现方式
回答:
暂时放弃研究一个函数同时传入子组件B和孙组件C的data了,决定把函数f分成f1(B的data)和f2(C的data)两部分定义。然后再在B中做判断
以上是 [Vue]父组件A通过props传入子组件B一个函数f,子组件B想要执行f(null,B的一个data),并判断f中是否用到了第一个参数,如果用到了,再将f通过props传入孙组件C? 的全部内容, 来源链接: utcz.com/p/935228.html