步骤一
在小程序项目中添加一个components文件夹,里面存放自定义的组件,然后在components目录下新建一个customComponent文件夹,文件夹可以命名为自定义组件名字相关,用来存放自定义的组件。
在这个文件夹右键,选择新建组件,输入组件名,一个自定义组件由 json, wxml, wxss, js4个文件组成,此时将自动生成这四个文件。
步骤二
接下来进行组件的相关配置:
首先需要在 json 文件中进行自定义组件声明(将component 字段设为 true 可这一组文件设为自定义组件
步骤三
引用组件:
在父级中:“useingComponents”:{
“命名”:“子级路径”,
}
微信小程序的组件和Vue的组件非常相似。
在微信小程序中有很多内置组件,比如button view input image等,有时候我们要自定义组件。和Vue的组件似的。
如何创建自定义组件:
新建一个components目录,在里边创建自定义组件
组件的组成:
使用组件:
一个简单的示例:
创建comp,代表页面;创建components/xxxx,代表组件。
创建组件:
使用组件:
注意:json文件中不能写注释啥的。这里的注释是为了解释清楚,在开发中不能写注释。
组件的注意事项:
组件的样式细节:
如何控制页面和组件的样式相互影响:
组件和页面相互通信
this.triggerEvent(事件名,参数对象,{}),最后是options,额外的一些选项
预留一个设备,以有利于对以后进行扩展。
好处:
例子:
在移动端,导航栏,nav-bar,分为左中右三部分。不把这三部分的内容写死。就用插槽,为了封装性更好。
单个插槽的使用很简单:
多个插槽的使用稍微复杂,要设置几个东西:
component构造器中可以写哪些东西,如下
小程序在使用时,经常会在不同的页面用到相同的页面结构,这个时候我们如果一个个写的话没有必要,这个时候可以使用模板(template)或者组件(component)。
二者区别 在于:
1、需要定义模板:一个template.wxml文件中能写多个模板,用name区分,
下面定义两个模板
2、使用这两个模板,在对应的wxml文件引入:
3、上面在模板content里定义了点击事件subtractNum方法,因为template中没有js文件,因此template中的点击事件,在使用页面中的js里定义。
建议将有子列表 *** 作交互的写成component。
示例:
对应组件的wxml跟page里的wxml一样:
2、使用自定义组件前,首先要在页面的 json 文件中进行引用声明。此时需要提供每个自定义组件的标签名和对应的自定义组件文件路径
这样,在页面的 wxml 中就可以像使用基础组件一样使用自定义组件。节点名即自定义组件的标签名,节点属性即传递给组件的属性值。
下一节将进入如何 组件向父级传值(组件通信)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)