微信小程序开发(3):这是一个组件

作者:叶小钗 

www.cnblogs.com/yexiaochai/p/9382862.html


编写组件


基本结构


接上文:

微信小程序开发02-小程序基本介绍


我们今天先来实现这个弹出层:


微信小程序开发(3):这是一个组件_第1张图片


之前这个组件是一个容器类组件,弹出层可设置载入的html结构,然后再设置各种事件即可,这种组件有一个特点:


① 只提供Header部分以及容器部分


② 容器部分的HTML结构由业务层提供


③ 容器部分对应样式由业务层提供


我们如果要在小程序中实现这类组件,意味着我们需要往小程序中动态插入WXML结构,我们这里先做个demo,试试往动态插入WXML是不是可行


this.setData({'wxml': `

  

  动态插入的节点

  

`});


微信小程序开发(3):这是一个组件_第2张图片


小程序对应设置的数据进行了转义,所以并不能动态解析,如果站在性能角度思考,不进行动态解析也不是错误的;另一方面,一旦小程序能动态解析wxml,那么可能会涌出各种花式用法,控制力会减低,那么我们这里如何解决这个问题呢?


我想的是,直接将业务级wxml结构放到页面里面,隐藏起来,需要使用弹出层的时候,直接将之装载进去,我们来看看是否可行,我们将我们需要展示的结构放到一个模板当中:



然后,我们在我们主界面中载入模板:


  

    

      这里是插入到组件slot中的内容