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

快应用的变乱监听机制和组件间通讯

发布时间:2019-03-02 00:44:46 所属栏目:建站 来源:王波
导读:提及变乱,做前端开拓的伴侣必然不会生疏。变乱,即网页上的一系列举动,可所以赏识器举动,如页面完成了加载,页面封锁;或是用户操纵举动,如用户输入操纵,用户点击按钮等,这些举动会被JavaScript监测到,并执行响应的逻辑代码。可以说,前端的交互行

其它一个兄弟组件可以通过父组件中成立彼此引用到达彼此持有ViewModel的目标,通过在生命周期onReady()中执行establishRef()实现,如下代码所示:

  1. <template>  
  2.   
  3. <div class="tutorial-page">  
  4.   
  5. <!-- 兄弟VM通讯 -->  
  6.   
  7. <comp-part2 id="sibling1"></comp-part2>  
  8.   
  9. <comp-part3 id="sibling2"></comp-part3>  
  10.   
  11. </div>  
  12.   
  13. </template>  
  14.   
  15. <style lang="less">  
  16.   
  17. </style>  
  18.   
  19. <script>  
  20.   
  21. // 父组件  
  22.   
  23. export default {  
  24.   
  25. onReady () {  
  26.   
  27. this.establishRef()  
  28.   
  29. },  
  30.   
  31. /**  
  32.   
  33. * 成立彼此VM的引用,父组件将两个兄弟组件接洽了起来  
  34.   
  35. */  
  36.   
  37. establishRef () {  
  38.   
  39. const siblingVm1 = this.$vm('sibling1')  
  40.   
  41. const siblingVm2 = this.$vm('sibling2')  
  42.   
  43. siblingVm1.parentVm = this  
  44.   
  45. siblingVm1.nextVm = siblingVm2  
  46.   
  47. siblingVm2.parentVm = this  
  48.   
  49. siblingVm2.previousVm = siblingVm1  
  50.   
  51. }  
  52.   
  53. }  
  54.   
  55. </script>  

那么其它一个子组件的Pub端界说就很简朴了,执行sendMesssage()即可完成触发,如下代码所示:

  1. <template>  
  2.   
  3. <div class="tutorial-page">  
  4.   
  5. <text class="tutorial-title">自界说组件3:</text>  
  6.   
  7. <text onclick="sendMesssage">点击发送动静</text>  
  8.   
  9. </div>  
  10.   
  11. </template>  
  12.   
  13. <style lang="less">  
  14.   
  15. </style>  
  16.   
  17. <script>  
  18.   
  19. // 子组件: part3  
  20.   
  21. export default {  
  22.   
  23. sendMesssage () {  
  24.   
  25. if (this.previousVm) {  
  26.   
  27. // Way1. 挪用要领  
  28.   
  29. this.previousVm.processMessage('兄弟之间通讯的动静内容')  
  30.   
  31. // Way2. 触发变乱  
  32.   
  33. this.previousVm.$emit('customEventInVm2', '兄弟之间通讯的动静内容')  
  34.   
  35. }  
  36.   
  37. }  
  38.   
  39. }  
  40.   
  41. </script>  

表明一下

(编辑:湖南网)

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

热点阅读