• 小程序组件


    组件

    • 什么是组件?

      组件就是将一个功能进行封装,组件是视图层的基本组成单元,有自己独特的功能
    • 组件的规范

      结构
        样式
        逻辑
        通信方式
        生命周期
        可组合(可以嵌套)
        定义组件
        调用组件(标签的形式)
    • 组件的创建

      小程序中组件由4个文件组成:
        .json  .wxml  .wxss  .js
        
        创建组件实例需要通过Component(Object)函数创建
        创建组件需要在组件的json文件中定义component:true字段指定为一个组件
        
        组件中能够的基础选项:
            
            Properties:接收的数据
            Data:内部数据
            Methods:处理函数
            
        使用组件:
            
            需要在对应的页面或者组件的json文件中定义usingComponents:{}选项
            
            usingComponents:{
                '名-称':'组件路径'
            }
            
            在页面中可以使用 <名-称/>
            名称中不能出现大写字母,规则就是(字_-)
            
        组件的组合可以使用slot插槽来完成,和Vue一样,只不过没有作用域插槽,可以有命名插槽和默认插槽
        
        组件的通信可以通过props传递参数(父子),自定义事件(子父)
            1)父子<my-component test='sss'/>
            2)子父 <my-component bindtest='testFn'/> 组件内部通过this.triggerEvent('test',{detail:对象})

    WXS(WeiXin Script)是小程序的一套脚本语言

    wxs中index.wxs中写入js代码
        
        var msg = "hello world";
        module.exports.message = msg;
    
    需要用的页面中引入
    
        <wxs src="../wxs/index.wxs" module="m1" />
        <view>{{m1.message}}</view>

    组件

    // index页面
    
    <nav-bar bindselect='navselect' class='navbar' test='aaa'/>
    
    // index.js
     navselect(res){
        console.log(res)
      },
     
    // navbar.js中的改变数据之后
    
    this.setData({
        ind: e.target.dataset.id
      },()=>{
        this.triggerEvent('select',{
          ind: e.target.dataset.id
        })
      })
    
    // index.json
    
        {
          "usingComponents":{
            "nav-bar":"../components/navbar/navbar"
          }
        }

    传递数据

    父子: properties
    子父:triggerEvent

    数据data改变

    vue  watch监听
    react setState的回调函数
    小程序  setData的回调函数
  • 相关阅读:
    Alpha冲刺总结
    测试随笔
    项目Alpha冲刺Day11
    项目Alpha冲刺Day12
    项目Alpha冲刺Day10
    项目Alpha冲刺Day9
    项目Alpha冲刺Day6
    beta冲刺1
    Beta准备博客
    基于微信小程序的实验室管理的postmortem
  • 原文地址:https://www.cnblogs.com/2oex/p/9585921.html
Copyright © 2020-2023  润新知