微信小程序APP页面的之间的相互传递参数以及自定义组件


Posted in Javascript onApril 19, 2022

1. 自定义组件

小程序允许我们使用自定义组件的方式来构建页面。

官方文档

自定义组件

是不是用的微信的组件感觉很爽啊,如果不够用怎么办?

1.1 创建自定义组件

类似于页面,一个自定义组件由jsonwxmlwxssjs4个文件组成

1.1.1 声明组件

首先需要在json文件中进行自定义组件声明

{
  "component": true
}

微信小程序APP页面的之间的相互传递参数以及自定义组件

1.1.2 编辑组件

同时,还要在wxml文件中编写组件模板,在wxss文件中加入组件样式

注意:在组件wxss中不应使用ID选择器、属性选择器和标签名选择器。

<!--componentes/com/com.wxml-->
<view>我是组件</view>
<button>按钮组件{{num}}</button>

微信小程序APP页面的之间的相互传递参数以及自定义组件

1.2 使用自定义组件

首先要在页面的json文件中进行引用声明。还要提供对应的组件名和组件路径

注册-->使用

# json文件中注册
{
    // 引用声明
  "usingComponents": {
    // 要使用的组件的名称     // 组件的路径
    "com": "/componentes/com/com"
  }
}
# wxml文件中使用
<!--pages/test1/test1.wxml-->
<com></com>

微信小程序APP页面的之间的相互传递参数以及自定义组件

1.3 页面向自定义组件传递数据(父传子)

注意点:  

1.properties中:是写其他页面传过来的变量 

2.data中:本页面的变量,属性

# 组件wxml文件
<!--componentes/com/com.wxml-->
<!-- name值是由页面决定的 -->
<view>{{name}}大帅逼</view>  
# 组件js文件
// componentes/com/com.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    name:{
      type: String,	//属性的类型
      value: 'jeff'  // 属性的默认值,如果页面没有给这个name赋值,就使用这个value的值
    } 
  },
  /**
   * 组件的初始数据
   */
  data: {
  },
#页面中wxml
<my-con  title="{{变量名}}"><my-con/>
 #再组件中
   properties: {
    title:{
      type:String,
      value:"你好"
    }
  }
# 页面wsml文件
<com name='chary'></com>  //可以是固定值
<com name = "{{name1}}"></com> //这里的可以是变量

1.4 组件将事件传给页面(子传父)

组件的方法methods里面

# 组件wxml文件
<button bind:tap="click">加一</button>
# 组件js文件
methods: {
    click:function(e){
      this.triggerEvent("jia1")  // 传递jia1事件,不带参数的
      # this.triggerEvent("jia1",{num:e.currentTarget.dataset.num})  //带参数的
    }
  }
# 页面wxml文件 捕获事件
<view>{{num}}</view>
<com bind:jia1="jia"></com>
# 页面js文件
// pages/test1/test1.js
Page({
  data: {
    num:0
  },
  jia:function(e){
    this.setData({
      num: this.data.num + 1
  })
  }
})

以上就是微信小程序自定义组件与页面的相互传参的详细内容!

Javascript 相关文章推荐
js中哈希表的几种用法总结
Jan 28 Javascript
浅析创建javascript对象的方法
May 13 Javascript
JS实现六位字符密码输入器功能
Aug 19 Javascript
纯js实现倒计时功能
Jan 06 Javascript
微信小程序 判断手机号的实现代码
Apr 19 Javascript
JS中定位 position 的使用实例代码
Aug 06 Javascript
React-Native做一个文本输入框组件的实现代码
Aug 10 Javascript
JavaScript简单实现合并两个Json对象的方法示例
Oct 16 Javascript
React styled-components设置组件属性的方法
Aug 07 Javascript
Django+vue跨域问题解决的详细步骤
Jan 20 Javascript
uploadify插件实现多个图片上传并预览
Sep 30 Javascript
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
微信小程序APP的生命周期及页面的生命周期
解决vue中provide inject的响应式监听
Apr 19 #Vue.js
vue3种table表格选项个数的控制方法
Apr 14 #Vue.js
vue项目配置sass及引入外部scss文件
Apr 14 #Vue.js
解决vue-router的beforeRouteUpdate不能触发
Apr 14 #Vue.js
vue3语法糖内的defineProps及defineEmits
Apr 14 #Vue.js
You might like
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
DOM相关内容速查手册
2007/02/07 Javascript
form中限制文本字节数js代码
2007/06/10 Javascript
传智播客学习之java 反射
2009/11/22 Javascript
有关DOM元素与事件的3个谜题
2010/11/11 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
Lazy Load 延迟加载图片的jQuery插件中文使用文档
2012/10/18 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
vscode 远程调试python的方法
2017/12/01 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
对python 操作solr索引数据的实例详解
2018/12/07 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
军训的自我鉴定
2013/12/10 职场文书
办公室经理岗位职责
2014/01/01 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript