题主是否想询问“小程序自定义组件使用时内部能使用div标签吗”?能。小程序自定义组件使用时内部是能使用div标签的,div标签称为区隔标记,作用是设定字、画、表格等的摆放位置,可以将文字、图象、放在div标签中。
小程序在使用时,经常会在不同的页面用到相同的页面结构,这个时候我们如果一个个写的话没有必要,这个时候可以使用模板(template)或者组件(component)。
二者区别 在于:
1、需要定义模板:一个templatewxml文件中能写多个模板,用name区分,
下面定义两个模板
2、使用这两个模板,在对应的wxml文件引入:
3、上面在模板content里定义了点击事件subtractNum方法,因为template中没有js文件,因此template中的点击事件,在使用页面中的js里定义。
建议将有子列表 *** 作交互的写成component。
示例:
对应组件的wxml跟page里的wxml一样:
2、使用自定义组件前,首先要在页面的 json 文件中进行引用声明。此时需要提供每个自定义组件的标签名和对应的自定义组件文件路径
这样,在页面的 wxml 中就可以像使用基础组件一样使用自定义组件。节点名即自定义组件的标签名,节点属性即传递给组件的属性值。
下一节将进入如何 组件向父级传值(组件通信)
微信小程序的组件和Vue的组件非常相似。
在微信小程序中有很多内置组件,比如button view input image等,有时候我们要自定义组件。和Vue的组件似的。
如何创建自定义组件:
新建一个components目录,在里边创建自定义组件
组件的组成:
使用组件:
一个简单的示例:
创建comp,代表页面;创建components/xxxx,代表组件。
创建组件:
使用组件:
注意:json文件中不能写注释啥的。这里的注释是为了解释清楚,在开发中不能写注释。
组件的注意事项:
组件的样式细节:
如何控制页面和组件的样式相互影响:
组件和页面相互通信
thistriggerEvent(事件名,参数对象,{}),最后是options,额外的一些选项
预留一个设备,以有利于对以后进行扩展。
好处:
例子:
在移动端,导航栏,nav-bar,分为左中右三部分。不把这三部分的内容写死。就用插槽,为了封装性更好。
单个插槽的使用很简单:
多个插槽的使用稍微复杂,要设置几个东西:
component构造器中可以写哪些东西,如下
我们单位实行的大小周工作制,即大周休息2天,小周消息一天。因这点小特殊,总有同事常记错周六这天是否上班。也因这点,在程序上需要特别体现出大小周的提示,于是需要设计一个日历组件,并在日历上标注出排班名称和大小周。最终实现图如下:
微信小程序demo提供了一个简单的日历组件,vant也提供了一个日历组件,在github上也有一些日历组件,我试用了一番,都多少存在一些不符合之处。重点说一下vant,它有几个问题:一是加载数据太大,一运行就加载至少一年以上的数据;二是样式不好控制,大小相修改一下就会变形;三是在日期上下方加文字不方便。
因为没有找到太好的组件可以引用,就自己想设计一个能方便控制的,遂有下面的设计,
1、采用grid组件显示日期,分三行,中间一行为日期具体天的数字,上面一行显示大小周提示、下面一行显示排班名称
2、采用scroll-view动态包含grid数目
3、一行显示几天,可以动态设置
1、日历头部
2、日历内容
3、日历结构体
4、具体每个月的日历算法
获取某个月的第一天和最后一天,再获取每天的星期数,循环放到grid结构体中
优点:一是加载数据量少,可控制;二是显示内容丰富,可以控制;三是也是显示可以使用slot,更加丰富
缺点:一不是专业日历组件,样式简单了些;二是加载数据量有限,grid自身也是一个组件,加载多了额外的开销肯定大起来。
本系列主要对小程序常用的组件做一个总结,方便自己及其它小程序开发者作为字典查阅和检索。
小程序组件有一些公共属性,在每个组件中代表的意义和数据类型都是一样的。
容器组件:内部能嵌套任何标签。常用的视图容器有: view , scroll-view , swiper
<view/> 是一个块级容器组件,任何一种复杂的布局都可以嵌套在 <view/> 组件内,并在 wxss 中设置相关样式。
<view/> 除了上述组件共有的属性外,还包含一组关于点击行为的属性。
在布局中,需要容器具有可滑动的功能,且能监听滚动、触顶、触底等事件,就需要 <scroll-view/> 组件, <scroll-view/> 在 <view/> 组件上添加滚动相关的属性,通过这些属性,可以响应滚动相关事件。
注意:
<textarea/> , <video/> , <map/> , <canvas/> 不能嵌套在 <scroll-view/> 中使用
利用 swiper 组件,可以实现轮播图,滑动页面,预览等,一个完整的滑块视图软件由 <swiper/> 和 <swiper-item/> 两个标签组成,不能单独使用。一个 <swiper/> 只能嵌套一个或多个 <swiper-item/> 标签,放置其它的标签会被删除,其中, <swiper-item/> 中能放置任何标签,高度默认为 100% ,另外没有任何其它特殊属性。
<swiper/> 的属性如下:
以上就是关于小程序自定义组件使用时内部用div全部的内容,包括:小程序自定义组件使用时内部用div、小程序模板和组件的区别(点击 *** 作事件)、微信小程序组件化开发等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)