加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

8种vue组件通信方式详细解析实例

发布时间:2019-04-13 09:24:57 所属栏目:建站 来源:web秀
导读:对付vue来说,组件长短经常见的,有许多平台都封装了了属于本身一套的组件,如element ui、we ui等等。同时组件之间的动静转达也长短常重要的,下面是我对组件之间动静转达的各类方法的总结,共有8种方法。若有不敷之处,可以留言增补,相互进修。 1. prop

vue1.0中提供了这种方法,但vue2.0中没有,但许多开源软件都本身封装了这种方法,好比min ui、element ui和iview等。 好比如下代码,一样平常都作为一个mixins去行使, broadcast是向特定的父组件,触发变乱,dispatch是向特定的子组件触发变乱,本质上这种方法照旧on和on和emit的封装,但在一些基本组件中却很适用。

  1. function broadcast(componentName, eventName, params) { 
  2.  this.$children.forEach(child => { 
  3.  var name = child.$options.componentName; 
  4.  if (name === componentName) { 
  5.  child.$emit.apply(child, [eventName].concat(params)); 
  6.  } else { 
  7.  broadcast.apply(child, [componentName, eventName].concat(params)); 
  8.  } 
  9.  }); 
  10. export default { 
  11.  methods: { 
  12.  dispatch(componentName, eventName, params) { 
  13.  var parent = this.$parent; 
  14.  var name = parent.$options.componentName; 
  15.  while (parent && (!name || name !== componentName)) { 
  16.  parentparent = parent.$parent; 
  17.  if (parent) { 
  18.  name = parent.$options.componentName; 
  19.  } 
  20.  } 
  21.  if (parent) { 
  22.  parent.$emit.apply(parent, [eventName].concat(params)); 
  23.  } 
  24.  }, 
  25.  broadcast(componentName, eventName, params) { 
  26.  broadcast.call(this, componentName, eventName, params); 
  27.  } 
  28.  } 
  29. }; 

8. vuex处理赏罚组件之间的数据交互

假如营业逻辑伟大,许多组件之间必要同时处理赏罚一些民众的数据,这个时辰才有上面这一些要领也许倒霉于项目标维护,vuex的做法就是将这一些民众的数据抽离出来,然后其他组件就可以对这个民众数据举办读写操纵,这样到达相识耦的目标。

【编辑保举】

  1. Vue处事端渲染实践 ——Web应用首屏耗时最优化方案
  2. JS框架比拟,Angular照旧Vue相宜才最好
  3. Vue行使能力和项目中碰着的题目
  4. Vue.js的留意事项与能力
  5. Vue UI:Vue 开拓者必不行少的器材
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读