[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

回到顶部