小程序在使用时,经常会在不同的页面用到相同的页面结构,这个时候我们如果一个个写的话没有必要,这个时候可以使用模板(template)或者组件(component)。
二者区别 在于:
1、需要定义模板:一个template.wxml文件中能写多个模板,用name区分,
下面定义两个模板
2、使耐迅庆用这两个模板,在对应的wxml文件引入:
3、上面在模板content里定义了点击事件subtractNum方法,因为template中没有js文件,因此template中的点击事件,在使用页面中的js里定义。
建议将有子列表昌握 *** 作交互的写成component。
示例:
对应组件的wxml跟page里的wxml一样:
2、使用自定义组件前,首先要在页面的 json 文件中进行引用声明。此时需要提供每个自定义组件的标签名和对应的自定义组件文件路径
这样,在页面的 wxml 中就可以像使用基础组件一样使用自定义组件。节点名即自定义组件的标签名,节点属性即传递给组件的属性值昌裤。
下一节将进入如何 组件向父级传值(组件通信)
在小程序中使用并运行components遇到了两个问题:问题描述:
Cannot read property ‘init’ of null ,为null
出现原因:
出现的原因是,我在wxml里有if判断,而此时num还没有等于1,所以造成null
解决办法:
可以在num为1,也就是if条件成立时,进行selectComponent
补充:
还有绝哗可能出现为null的情况有以下几点:
1、json里usingComponents名与wxml组件名不一致:
2、通过id设置时,id名不一致,或者不是用‘#’
3、通过id设置时,id名不一致,或者不是用‘.’
4、就是上面出现过的,存在if条件悄带判断的,满足条件后再selectComponent
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)