微信小程序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 相关文章推荐
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
Mar 12 Javascript
file控件选择上传文件确定后触发的js事件是哪个
Mar 17 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
May 07 Javascript
用html+css+js实现的一个简单的图片切换特效
May 28 Javascript
Jquery实现由下向上展开效果的例子
Dec 08 Javascript
node.js中的fs.futimes方法使用说明
Dec 17 Javascript
用js实现放大镜的效果的简单实例
May 23 Javascript
jquery层级选择器的实现(匹配后代元素div)
Sep 05 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
Feb 10 Javascript
ES6新特性之函数的扩展实例详解
Apr 01 Javascript
Javascript的console['']常用输入方法汇总
Apr 26 Javascript
JavaScript计算正方形面积
Nov 26 Javascript
微信小程序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
php中设置多级目录session的问题
2011/08/08 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
首页图片漂浮效果示例代码
2014/06/05 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
浅谈function(函数)中的动态参数
2017/04/30 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
Opencv实现抠图背景图替换功能
2019/05/21 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
python 初始化一个定长的数组实例
2019/12/02 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
总经理司机职责
2014/02/02 职场文书
网络工程师职业规划
2014/02/10 职场文书
《去年的树》教学反思
2014/04/11 职场文书
医学求职自荐信
2014/06/21 职场文书
教师职位说明书
2014/07/29 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书
css实现文章分割线样式的多种方法总结
2021/04/21 HTML / CSS
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技