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

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

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

上文曾提到原生组件,通常原生组件是我们系统中最基础的组件,然而我们在做一个稍微复杂的页面时,如果每个页面都只用原生组件搭建,那这样的代码的可维护性会差很多。打个比方,就好比一个人口众多的国家,没有省、市、县这些单位,而是只以个人为单位,难以想象这个国家的管理将有多难。道理类似,自定义组件,我们可以根据具体的业务逻辑,把页面按照功能拆成多个模块,每个模块负责其中的一个功能部分,最后页面将由这些模块组合搭建起来,让代码结构更加清晰,易于维护。

自定义组件是开发者编写的组件,使用起来和Native原生组件一样,最终按照组件的<template>来渲染;同时开发起来又和页面一样,拥有ViewModel实现对数据、事件、方法的管理,这么来看,页面也是一种特殊的自定义组件,无需引入即可使用,同时服务于整个页面。

编写自定义组件

示例如下:

  1. <template>  
  2. <div class="tutorial-page">  
  3. <text class="tutorial-title">自定义组件:</text>  
  4. <text>{{ prop1 }}</text>  
  5. <text>{{ prop2Object.name }}</text>  
  6. </div> 
  7.  
  8. </template>  
  9. <style lang="less">  
  10. .tutorial-page {  
  11. flex-direction: column;  
  12. padding-top: 20px;  
  13. .tutorial-title {  
  14. font-weight: bold;  
  15. }  
  16. }  
  17. </style> 
  18.  
  19. <script>  
  20. // 子组件  
  21. export default {  
  22. props: [  
  23. 'prop1',  
  24. 'prop2Object'  
  25. ], 
  26.  
  27. data: {  
  28. }, 
  29.  
  30. onInit () {  
  31. console.info(`外部传递的数据:`, this.prop1, this.prop2Object)  
  32. }  
  33.  
  34. </script> 

两点注意

一是自定义组件比页面组件的不同之处在于多了一个props属性,用于声明该组件可接受的外部数据传递;props是一个数组,数组中每个元素是暴露的属性。

二是如果属性名称使用驼峰定义,如:prop2Object,那么在外部传递数据时请使用-连接,如:prop2-object

引入自定义组件

引入自定义组件的方式和我们平时常用的方式不同,我们平时通常会用require或import的方式引入组件,而在快应用框架中,需要使用<import>标签来引入。

(编辑:PHP编程网 - 湛江站长网)

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