当前位置: 首页 > news >正文

建设银行 杭州招聘网站wordpress设置文章图片

建设银行 杭州招聘网站,wordpress设置文章图片,成免费crm特色vip,外链代发公司相信大家一定用过elementui这个组件库,那么对里面的表单组件一定不陌生。 最常用的几个组件就是el-form,el-form-item,el-input,表单校验时的错误提示功能是交给el-form-item来实现的。当el-input填写时触发校验规则,…

相信大家一定用过elementui这个组件库,那么对里面的表单组件一定不陌生。

最常用的几个组件就是el-formel-form-itemel-input,表单校验时的错误提示功能是交给el-form-item来实现的。当el-input填写时触发校验规则,验证失败后通知el-form-item进行错误信息提示。

他们大多时候是处于爷——父——子的关系,但是这个关系并不是完全固定的。我自己在使用的时候经常也不仅仅只使用这三个组件,简单举个例子:

<el-form><el-form-item><MyDiv><el-input></el-input></MyDiv></el-form-item>
</el-form>

上面代码里面MyDiv可能只是一个简单的布局组件,没有什么实际作用,但是一旦加了之后el-inputel-form-item就脱离了父子关系,那么通讯方式也就会发生变化。如果之前el-input校验规则失败后使用的是this.$parent的方式去触发校验提示的话,当我们在他们之间添加其他组件后就会失效。并且这是不可控的,你无法预料他们可能被如何实现,甚至之间间隔了多少个组件,若是强硬的将两个组件封装在一起又会显得臃肿冗余,不符合组件封装的规范,所以这个时候就可以使用派发来实现。

dispatch 派发

我们直接看elementui源码时如何使用派发的方式解决我们上面提到的问题

dispatch(componentName, eventName, params) {var parent = this.$parent || this.$root;var name = parent.$options.componentName;while (parent && (!name || name !== componentName)) {parent = parent.$parent;if (parent) {name = parent.$options.componentName;}}if (parent) {parent.$emit.apply(parent, [eventName].concat(params));}}

可以看出elementui其实就是遍历了父级组件,一直遍历拿到想要的组件为止。找到需要的组件后直接$emit派发事件,那么肯定在他们父级组件内部一定会有$on进行着事件监听。需要注意的是componentName这个属性是elementui自己在组件添加的,我们使用的时候直接使用name即可,name就是我们定义组件时自己定义的name

broadcast 广播

broadcast(componentName, eventName, params) {this.$children.forEach(child => {var name = child.$options.componentName;if (name === componentName) {child.$emit.apply(child, [eventName].concat(params));} else {broadcast.apply(child, [componentName, eventName].concat([params]));}});
}

broadcast与dispatch 实现逻辑没什么区别,只是一个向上遍历进行派发,一个向下遍历进行广播。

http://www.yayakq.cn/news/286987/

相关文章:

  • 公司网站的seo优化深圳英文网站建设公司
  • 做电子商务网站的意义河北综合网站建设系列
  • 高端营销型企业网站建设西安网站免费制作
  • 迈诺网站建设上海新闻头条
  • 网站建设技术包括哪些汽车网站页面布局设计
  • 陕西网站开发公司电话赶集的网站怎么做
  • 用个人的信息备案网站工信部申诉备案网站
  • 网站建设人工智能开发能用二级域名做网站吗
  • 长宁区网站建设网站制备案 网站首页地址
  • 企业网站的内容营销仿70网站分类目录源码
  • 资源下载网站源码seo发外链工具
  • 北京珠宝网站建设福田祥菱q双排小货车报价及图片
  • 如何评估网站wordpress覆盖升级
  • wordpress 瀑布流ajax台州企业网站seo
  • python写网站做淘宝客找商品网站有哪些
  • 手机站电影郑州网站外包公司简介
  • 做网站销售门窗怎么做成都网站建设哪里好点
  • 设置网站清新太和做网站
  • 软件网站排名h5和小程序有什么区别
  • 深圳市网站建设做网站免费网页搭建
  • 实用网站建设网站建设费用包括哪些
  • wordpress成品站源码苏州企业建站系统
  • 去了哪找网站建设公司微信网页制作的软件
  • 上海徐汇区网站建设海口云建站模板
  • 开发网站需要问什么网站后台管理软件
  • 999免费的网站济南全网推广设计开发
  • 为什么输入网址打开的却是别的网站广州市增城区建设局网站
  • 外包建站的公司怎么做seo河北省建设厅网站首页
  • 社交网站开发公司wordpress私人玩物
  • 电商网站有哪些类型做企业网站服务商