美文网首页
小程序组件化开发 传值

小程序组件化开发 传值

作者: 波仔_4867 | 来源:发表于2021-04-23 12:11 被阅读0次

创建新组件

1、在根目录创建components文件夹
2、创建对应页面的子文件夹 (例: indexpage---存放首页中相关的组件)
3、继续在indexpage内创建文件夹 (例: tab---定义tab组件的文件夹)
4、在tab上右击--> 新建Component-->输入名字-->回车后会自动生成四个文件
tab.js
tab.json
tab.wxml
tab.wxss

在页面中引入组件

以index为例, 在index页面中引入该组件

1、在index.json中配置

"usingComponents": {
"x-tab": "/components/indexpage/tab/tab"
},

"x-tab": 为自定义组件的名称
"/components/indexpage/tab/tab": 为组件文件的路径(注意第一个tab 为文件夹,第二个tab为文件名)

2、在index.wxml中使用组件

<x-tab></x-tab>

编辑组件

1、tab.json: 组件中也可引入自己的子组件
2、tab.wxml 组件的模板
3、tab.wxss 组件的样式
4、重点:tab.js 可实现父子组件传值
Component() : 创建自定义组件,接受一个 Object 类型的参数。
常用参数:
1、properties: { } 属性定义,即从父组件接收的数据
2、data: {} 私有数据,可用于模板渲染
3、 methods: {} 处理函数
4、 observer: { } 监听数据的改变
5. lifetimes:{} 最新格式一般用来写组件生命周期函数

页面向组件传值

1、 页面通过自定义属性向组件传值: <x-tab 自定义属性=”值”></x-tab>
2、组件通过properties接收页面传来的值 (可在组件的模板中直接使用)
properties: {
msg: String,
goodsId: {
type: Number,
value: 4
}
},

组件向页面传值

子组件通过事件触发          
tab.wxml             
<button type="primary" bindtap="send">向页面传值</button>


triggerEvent方法向父组件发送自定义事件
tab.js
methods: {
    send(){
      this.triggerEvent("send",'组件的值')
    }
  }

父组件监听到该事件则触发相应的事件处理程序
index.wxml
<x-tab goodsId="{{list[cur].id}}" type="msg" bindsend="getData"></x-tab>
index.js

getData(e){
    console.log('getData',e.detail);
  }

组件中的插槽

一、只有一个插槽
组件:

<view>
 .....
<slot></slot>

</view>

页面

<组件标签>

      <view>插入的内容</view>

</组件标签>

组件中的插槽

二、多个插槽
页面

<组件标签>

      <view slot=”c1”>插入的内容</view>

      <view slot=”c2”>插入的内容</view>

</组件标签>

组件:

<view>
 .....
<slot name=“c1”></slot>

<slot name=“c2”></slot>

</view>

Component({
  options: {
    multipleSlots: true // 在组件定义时的选项中启用多slot支持
  },
  properties: { /* ... */ },
  methods: { /* ... */ }
})

相关文章

  • 小程序组件化开发 传值

    创建新组件 1、在根目录创建components文件夹2、创建对应页面的子文件夹 (例: indexpage---...

  • 微信小程序自定义组件传值问题

    微信小程序自定义组件传值问题 自定义组件 · 小程序 父组件(引用组件的页面模板)页面 子组件页面 表示父组件页面...

  • 微信小程序父子组件传值

    微信小程序父组件往子组件传值:父:

  • 组件基础

    组件的入门 组件的私有化 组件的切换 组件间的传值-向组件内传值 组件间传值-向组件外传值 ref获取元素

  • 小程序组件传值

    A是父组件,B是子组件 父传子 //父组件Ajson (里面不能有注释) //子组件B json 效果 子传父 ...

  • 小程序组件传值

    父传子 //父组件Ajson (里面不能有注释) //子组件B json 子传父 //父组件A json (里面不...

  • Vue-TodoList组件化思维

    一、全局组件化 二、局部组件化 三、子组件给父组件传值

  • vue 实现数据共享模式.

    vue 都是组件化的开发模式. 整个组件树中,组件和组件之间的关系如下图所示. 父子组件传值一般用 props &...

  • 2018-03-07 小程序页面传值、十大编程算法之三:堆排序算

    第一组:杨昊 小程序页面传值 开发小程序的时候,也会遇到页面之间相互传值的问题,这里分享一下小程序页面之间的传值...

  • Vue组件间传值

    首先 vue 组件化的一个框架。既然是组件化。那么一定存在组件和组件之间传值的问题 在讨论组件和组件怎么传值的问题...

网友评论

      本文标题:小程序组件化开发 传值

      本文链接:https://www.haomeiwen.com/subject/glxdlltx.html