18910140161

El-radio-group 和 el-radio 怎么关联的,原理是怎样的?

顺晟科技

2021-10-03 13:45:28

150

问题:el-raido内容改变后,怎么通知到el-radio-group的?


顺晟科技:

可以监听这里的 radio。如果涉及多个组件的话,可以使用vuex。至于内部怎么关联的,那是UI库的事情,不用关心。

然后可以直接设置(覆盖)

这样父组件执行(调用)foo.fun1() ,就会调用子组件的那个函数。

需求结构:

搞不懂你要做什么?千万别提我,我怕别人说我把你带偏了。

Vue.js - The Progressive JavaScript Framework

当前项目需要多个页面需要这样的功能,当前方案已经成功应用了,谢谢。

对于需求,抱歉,没有表达清晰:就是如:El-radio-group 和 el-radio 怎么关联的,我需要的是在自定义组件中,实现相互影响。

用组件的props呀。vue3,props都是proxy的。所以父组件可以这样

方案:给父类组件和子类组件关系记录结果到Vuex里面,并且都有的识别标识,通过监听改变做相互通讯。

利用vuex记录一对应多的关系:

我想问问是否有其他的方式相互通讯?el-radio-group和el-radio可能不是用vuex做相互通讯的结合部分吧?

同样道理,可以让子组件直接调用父组件的函数。其实有些UI库的组件就是这么用的。

感谢 [jyk0011]的回复,让我想到了一种方案。

子组件定义props,接收foo

v-model="radio"

感谢之前的回复。

子组件,不让改props的层属性,但是可以改第二层的,所以要加上 events,多加一层。

抱歉,我上面描述有错误:

v-model可以看成是语法糖 v-model 在内部为不同的输入元素使用不同的 property 并抛出不同的事件<input v-model='value' type="text"></input> 等同于 <input :value="value" @input="value= $event.target.value"></input>也可以在组件上自定义model具体可以参考文档

watch监听:在【组件parentCustom】监听child的变化,如果有改变(对比init),做相应处理。(【组件childCustom】影响【组件parentCustom】)在【组件childCustom】监听parent的变化,如果有改变(对比init),做相应处理。(【组件parentCustom】影响【组件childCustom】)

我需要在一个vue页面里用到这种关系,内部中间夹着了其他的代码,简单代码结构如下:

Vue.js - The Progressive JavaScript Framework

注意,【组件parentCustom】 和 【组件childCustom】是slot关系,不是父类和子类组件关系。在【组件parentCustom】的slot中,有多个【组件childCustom】,还有一些不固定的代码。整体布局在同一个vue中。

不知道你的具体需求,监听数据变化用watch;如果是用的成熟的组件,不要想着去改,不如自己写一个

给父类组件和子类组件关系记录…

在childCustom进行一些处理后,怎么将结果通知到parentCustom里面,在进行其他的业务处理?

我想知道的是,有没有不借助vuex的方式,parentCustom 和 childCustom 能相互影响?

说明如下:在【组件parentCustom】的“里面”有很多【组件childCustom】,一个对应多个。相互影响:【组件parentCustom】里面的一些操作会影响【组件childCustom】,【组件childCustom】里面的一些操作会影响【组件parentCustom】。

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航