
1.创建一个文件夹存放组件,并在里面创建一个组件文件夹,components,tabs
2.在tabs文件里添加组件模板
3.引用组件,在父组件的json文件中配闭的usingComponents中添加子组件路径,compont
4.使用组件,相当于正常标签进行使用
二.父组件向子组件传参的步骤
父组件给子和局组件的tabs传入对象
1.父组件的数据
2.子组件做的 *** 作
如果没有传入数据,就会输出默认值value
3.子组件展示对唤卖让象数据:
三.子组件向父组件传参的步骤
1.先给子组件添加一个点击事件
2.通过this.triggerEvent("自定义事件名称",{传的值})命令保证子组件和父组件同步被修改
3.父组件绑定子组件,定义一个事件名称,用来接收子组件传递的数据
微信小程序的组件和Vue的组件非常相似。
在微信小程序中有很多内置组件,比如button view input image等,有时候我们要自定义组件。和Vue的组件似的。
如何创建自定义组件:
新建一个components目录,在里边创建自定义组件
组件的组成:
使用组件:
一个简单的示例:
创建comp,代表页面;创建components/xxxx,代表组件。
创建组件:
使用组件:
注意:json文件中不能写注释啥的。这里的注举键释租芹是为了解释清楚,在开发中不能写注释。
组件的注意事项:
组件的样式细节:
如何控制页面和组件的样式相互影响:
组件和页面相互通信
this.triggerEvent(事件名,参数对象,{}),最后是options,额外的一些选项
预留一个设备,以有利于对以后进行扩展。
好处:
例子:
在移动端,导航栏,nav-bar,分为左中右三部分。不把这三部分的内容写死。就用插槽,为了封装性更好。
单个插槽的使用很简单:
多个插槽的使用稍微弊答毕复杂,要设置几个东西:
component构造器中可以写哪些东西,如下
最近正在做的一个小程序项目中需要用到一个可清除的输入框控件,为了在项目中使用方便以及方便其他项目直接使用,便封装了一个可清除的input自定义组件。
组件需要达到的需求是:输入框内没有内容时,删除按钮隐藏;当输入框内有内容时,删除按钮显示,点击删除按钮则清空输入框内所有内容。并且还可以设置输入框整体样式以及输入框左侧图标。
明确了需求之后,就可以开始着手实现了。
首先,在目标目录下新建一个自定义组件
建好之后,我们需要来设计布局。根据需求来看,我们只需要三个组件:两个image和耐肆冲一个input。左边一个image提示图标,然后一个input输入框,最后一个image删除按钮。我们要把尽可能多的数据设置成可以修改的绑定数据,提高自定义组件的可扩展性。
最终确定的wxml布局文件如下:
然后,我们就要来设置组件的一些雹并属性和监听方法了。小程序的组件属性列表是定义在.js文件的properties里的。把需要暴露出去并可以修改的属性都写在这里面。其语法示例如下:
我的属性列表如下:
完成了属性列表的编写之后,接下来我们需要为自定义组件添加监听事件。
事件系统是组件间通信的主要方式之一。自定义组件可以触发任意的事件,引用组件的页面可以监听这些事件。
监听以及触昌歼发事件的语法是这样的:
这里我们需要设置的触发事件有,输入框的输入事件以及输入框的确认事件。通过 triggerEvent 方法指定事件名以及事件触发事件参数
以上就已经完成了这个可清除input组件的自定义开发了。现在来看怎么使用这个组件。
首先在需要使用此组件的页面.json文件中设置usingComponents属性来引入这个自定义组件
然后,我们就可以在页面中引用这个自定义组件了,引用的方式非常简单,通过我们在上一步设置的标签名称就可以引用了。
最终实现的效果图如下:
项目GitHub地址:
微信小程序酒店类模板
微信小程序捐款类模板
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)