微信小程序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 相关文章推荐
JScript的条件编译
May 29 Javascript
javascript 弹出层组件(升级版)
May 12 Javascript
JavaScript中函数声明优先于变量声明的实例分析
Mar 01 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
Apr 21 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
Dec 29 Javascript
JS 实现列表与多选框选择附预览动画
Oct 29 Javascript
js检测用户输入密码强度
Oct 22 Javascript
JS实现的页面自定义滚动条效果
Oct 26 Javascript
javascript事件绑定学习要点
Mar 09 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
Dec 23 Javascript
简述JS浏览器的三种弹窗
Jul 15 Javascript
vue实现微信获取用户信息的方法
Mar 21 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
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
php empty()与isset()区别的详细介绍
2013/06/17 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
ExtJs中简单的登录界面制作方法
2010/08/19 Javascript
使用focus方法让光标默认停留在INPUT框
2014/07/29 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
jQuery 中ajax异步调用的四种方式
2016/06/28 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
Python实现的计算器功能示例
2018/04/26 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
jupyter 添加不同内核的操作
2021/02/06 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
军训自我鉴定
2013/12/14 职场文书
工厂实习感言
2014/01/14 职场文书
男女朋友协议书
2014/04/23 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
2014年信访工作总结
2014/11/17 职场文书
社会实践活动总结
2015/02/05 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python