微信小程序组件教程

news/2024/7/20 1:33:40 标签: 小程序

微信小程序组件教程

将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用;也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护。

自定义组件由 json wxml wxss js 4个文件组成

首先需要在 json 文件中进行自定义组件声明,将 component 设为 true.

json 文件:

component 设为 true .

{
  "component": true,
}

js 文件:

Component({
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
    msgText: {
      type: String,
      value: 'hello world',
    }
  },
  data: {
    // 这里是一些组件内部数据
    someData: {}
  },
  methods: {
    // 这里是一个自定义方法
    catMethod: function(){}
  }
})

这两个文件需要更改。

开始使用组件:

{
  "usingComponents": {
    "component":"../../Components/component/index"
  }
}
<view>
	<component></component>
</view>

往组件传值:

<view>
	<component msg="hello"></component>
</view>

接下来,我们可以在组件中获取值并使用它。

<view>
	<view>{{msg}}</view>
</view>

调用组件中的自定义方法:

为组件设置一个 id

<view>
	<component id="component" msg="hello"></component>
</view>

使用 selectComponent 返回组件对象

var ac = this.selectComponent("#home")

// 组件的自定义方法
ac.catMethod();

组件加载完成后执行:

我们可以使用 lifetimes 来监视组件是否已加载。

  /**
  * 页面加载完成执行
  */
  lifetimes:{
     ready(){
       console.log("hello world")
     }
   }

子组件向父组件传值:

通过 triggerEvent 从子组件向父组件传值。

子组件:

this.triggerEvent('event', { value:123})

父组件:

bind 后的 event 要与子组件 triggerEvent 第一个参数 event 相同。

<view>
	<component id="component" bind:event="bindEvent"></component>
</view>
bindEvent(e){
	console.log("子组件传来的值为",e)
}

至此,它基本上包含了组件的所有操作。如果有遗漏或不清楚,欢迎指出。

demo 1:购物车

demo 2:3D 轮播图


http://www.niftyadmin.cn/n/965456.html

相关文章

模仿去哪儿的磁贴效果

感觉去哪儿的页面做的很不错&#xff0c;很好看&#xff0c;于是想模仿一下。事实上实现还是很easy的。就是按下去的运行缩小动画&#xff0c;抬起的恢复正常状态&#xff0c;这样的效果叫磁贴效果。顾名思义感觉就磁贴一样。以下我们来看看效果图&#xff1a; 以下我们来看看最…

java 有趣又酷的技巧

java 有趣又酷的技巧 1&#xff1a;注释的代码会执行吗&#xff1f;大多数开发人员认为注释永远不会在程序中执行&#xff0c;但是&#xff0c;它们被执行了。 public class Test {public static void main(String[] args){// \u000d System.out.println("美好的一天从这…

汇编题目:计算32位二进制的加法

编程计算数字加法运算&#xff1a;341ef000H61201000H&#xff0c;进位不能丢弃 assume cs:codesgdata segment db 16 dup(0) db 1eh,34h,0,0f0h ;数字&#xff1a;341ef000&#xff0c;你也可以使用立即数 db 20h,61h,0,10h ;数字&#xff1a;61201000&#xff0c;你也可…

Java 图像处理教程(人脸检测,添加水印,图像颜色转换)

Java 图像处理教程(人脸检测&#xff0c;添加水印&#xff0c;图像颜色转换) 文章目录Java 图像处理教程(人脸检测&#xff0c;添加水印&#xff0c;图像颜色转换)1&#xff1a;图片的读和写2&#xff1a;彩色图像转换成灰度图像3&#xff1a;彩色图像转换成负图像4&#xff1a…

C#高级编程笔记(二)

枚举&#xff08;enum&#xff09; 用户定义的整数类型&#xff0c;声明时&#xff08;使用enum关键字&#xff09;&#xff0c;要指定该枚举的实例可以包括的一组可以接受的值。 使用枚举类型的优势&#xff1a;1.使代码更易于维护&#xff1b;2.使代码更清晰&#xff1b;3.使…

Spring Security Tutorial (安全访问,登陆验证,权限) - SpringBoot集成Spring Security

Spring Security Tutorial (安全访问,登陆验证,权限) - SpringBoot集成Spring Security 文章目录Spring Security Tutorial (安全访问,登陆验证,权限) - SpringBoot集成Spring Security1&#xff1a;简单的登录验证2&#xff1a;保护Web应用程序的安全3&#xff1a;注册密码加密…

数据处理项目Postmortem

数据处理项目Postmortem 1、 设想和目标 1&#xff09;目标我们的软件要解决什么问题&#xff1f;是否定义得很清楚&#xff1f;是否对典型用户和典型场景有清晰的描述&#xff1f; 我们的项目是学霸系统PipeLine&#xff0c;软件主要解决学霸系统的内部操作问题&#xff0c;优…

Python破解wifi密码

Python破解wifi密码 文章目录Python破解wifi密码1&#xff1a;下载破解字典口令集2&#xff1a;引入密码本路径和WiFi名称3&#xff1a;获取网卡信息并断开所有链接4&#xff1a;连接验证5&#xff1a;逐行读取文本内容并执行6&#xff1a;破解开始7&#xff1a;懒癌独家1&…