小程序之组件和模板的对比

小程序之组件和模板的对比

经过一段时间的学习,现在对小程序可以说是有一定程度上的了解了,在刚开始学的时候,在小程序模板和组件的概念上老是犯糊涂,下面是我对这两者进行一部分方面的对比.

1、使用的场景不同

template主要是模版,对于重复的展示型的部分(比如说一个项目的header或是footer部分)进行展示,其中调用的方法或者数据data都是需要引用页面进行定义
component组件,相对于template更完整,接近于一个独立的模块,有自己的逻辑方法,数据,属性,可以提供外部引用页面使用方法进行交互;
所以 涉及到业务逻辑交互多的重复模块 使用组件component更合适一些,如果仅仅是展示性性 用template即可

2、因为二者在使用上的不同,常把他们放在项目的不同的文件夹里

组件可以把他看成是一个独立部分 ,我们常把他们放作为一个集体放在一个我们自己命名的component文件夹(为什么是component,这个我一直以来都是这么用的,见名知意嘛)
在这里插入图片描述
而模板我们常把他看作是一个页面的一部分,所有我们常把他放在pages目录下
在这里插入图片描述

3、起作用的文件不同

组件是四个基础的的文件(wxml wxss json js)一起作用
模板起作用的实质上只有wxml wxss两个文件

4、引用的方式不同

组件的引用是在使用组件的页面的json文件上进行配置,具体的组件使用这里就不详细介绍了,大家都知道的啦!
模板的引入需要对应的wxml 和 wxss

<import src="../template/noData.wxml" />
....
<template wx:else is="noData" data="{{baseRes,noDataMsg}}"></template> // 相关的数据来自于引入此模块的页面中数据

在wxss文件
@import "./pages/template/noData.wxss"
5 、开发中的使用不同

模块的使用比较简单,只需在相应的页面引入即可达到使用的目的
组件的使用相对比较的复杂
使用组件的时候难免会涉及到组件和使用组件的页面的数据的传递
page<==>com 之间是可以互相进行数据传递的,这个我打算之后再详细介绍。
除了上文的数据传递的方式
还可以在引用组件的page页面的js文件中获取相应的组件的对象再进行相应的操作

<com id="com"  bindevent="onMyEvent""/>

组件js文件

onReady(){
    // 取不到相关组件的数据
    console.log(this.selectComponent("#com"))
    this.com=this.selectComponent("#com"); // 这句代码的意思是在使用组件页面的js上获取组件对象,从而操作组件的数据方法。
    //取到相应的组件对象 进行相应的处理
	},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值