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

快应用的事件监听机制和组件间通信

发布时间:2019-02-27 09:51:39 所属栏目:建站 来源:王波
导读:说起事件,做前端开发的朋友一定不会陌生。事件,即网页上的一系列行为,可以是浏览器行为,如页面完成了加载,页面关闭;或是用户操作行为,如用户输入操作,用户点击按钮等,这些行为会被JavaScript监测到,并执行相应的逻辑代码。可以说,前端的交互行

示例如下:

  1. <import name="comp-part1" src="./part1"></import>  

<import>标签中的的src属性指定自定义组件的地址,name属性指定在<template>组件中引用该组件时使用的标签名称

最终页面定义与引入方式如下:

  1. <import name="comp-part1" src="./part1"></import> 
  2.  
  3. <template> 
  4.  
  5. <div class="tutorial-page"> 
  6.  
  7. <text class="tutorial-title">页面组件:</text> 
  8.  
  9. <text>{{ data1 }}</text> 
  10.  
  11. <text>{{ data2.name }}</text> 
  12.  
  13. <text onclick="evtType1Emit">触发$broadcast()</text> 
  14.  
  15. <comp-part1 prop1="{{data1}}" prop2-object="{{data2}}" onevt-type3="evtTypeHandler"></comp-part1> 
  16.  
  17. </div> 
  18.  
  19. </template> 
  20.  
  21. <style lang="less"> 
  22.  
  23. .tutorial-page { 
  24.  
  25. flex-direction: column; 
  26.  
  27. padding: 20px 10px; 
  28.  
  29. .tutorial-title { 
  30.  
  31. font-weight: bold; 
  32.  
  33.  
  34.  
  35. </style> 
  36.  
  37. <script> 
  38.  
  39. // 父组件 
  40.  
  41. export default { 
  42.  
  43. data: { 
  44.  
  45. data1: '传递字符串', 
  46.  
  47. data2: { 
  48.  
  49. name: '传递对象' 
  50.  
  51.  
  52. }, 
  53.  
  54. onInit () { 
  55.  
  56. this.$page.setTitleBar({ text: '父子组件通信' }) 
  57.  
  58. this.$on('evtType2', this.evtTypeHandler) 
  59.  
  60. }, 
  61.  
  62. evtTypeHandler (evt) { 
  63.  
  64. console.info(`父组件:事件响应: `, evt.type, evt.detail) 
  65.  
  66. // 结束事件传递 
  67.  
  68. // evt.stop() 
  69.  
  70. }, 
  71.  
  72. evtType1Emit () { 
  73.  
  74. this.$broadcast('evtType1', { params: '额外参数' }) 
  75.  
  76.  
  77.  
  78. </script> 

解释一下

上面的代码中有几点需要说明:

(编辑:核心网)

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

热点阅读